הגדרת שרת proxy להעברה

שרתי פרוקסי להעברה מספקים נקודה אחת שדרכה כמה מכונות שולחות בקשות לשרת חיצוני. הם יכולים לאכוף מדיניות אבטחה, לתעד בקשות ביומן, לנתח אותן ולבצע פעולות אחרות כדי שהבקשות יעמדו בכללים העסקיים שלכם. ב-Edge, שרת proxy להעברה בדרך כלל מתווך בין שרתי ה-proxy ל-API לבין TargetEndpoint חיצוני (שרת יעד לקצה העורפי).

כדי להשתמש בשרת proxy להעברת HTTP בין Edge לבין TargetEndpoint, צריך לקבוע את ההגדרות לשרת proxy יוצא במעבדי הבקשות (MPs). המאפיינים האלה מגדירים את מעבדי ההודעות כך שינתבו בקשות יעד מ-Edge לשרת ה-proxy להעברת HTTP.

כדי להגדיר MP לשרת proxy להעברה:

  1. ב-MP, עורכים את הקובץ הבא:
    /opt/apigee/customer/application/message-processor.properties

    אם הקובץ message-processor.properties לא קיים, יוצרים אותו.

  2. עורכים את הקובץ כדי להגדיר את המאפיינים שקשורים לשרת ה-proxy, שמתוארים בטבלה הבאה.
  3. מוודאים שקובץ המאפיינים נמצא בבעלות המשתמש apigee:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. שומרים את השינויים בקובץ המאפיינים.
  5. מפעילים מחדש את ה-MP, כמו בדוגמה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

בטבלה הבאה מתוארים המאפיינים בקובץ message-processor.properties שמשמשים להגדרת MP להעברת שרת proxy לשרת בק-אנד:

נכס תיאור
conf_http_HTTPClient.use.proxy

מאפשרת שימוש בשרת proxy להעברה. ערך ברירת המחדל הוא true, כלומר אפשר להשתמש בשרת proxy להעברה בשכבת ה-proxy ל-API על ידי הכללת ה-XML הרלוונטי בהגדרת החבילה.

אם מגדירים את הערך הזה ל-false, אי אפשר להשתמש בשרת proxy להעברה.

conf_http_HTTPClient.use.tunneling

כברירת מחדל, Edge משתמש במנהור לכל התנועה. כדי להשבית את ה-tunneling כברירת מחדל, צריך להגדיר את המאפיין הזה כ-"false".

use.proxy.host.header.with.target.uri

מגדירה את המארח והיציאה של היעד ככותרת Host. כברירת מחדל, המארח והיציאה של שרת ה-proxy מוגדרים ככותרות Host. אפשר להגדיר את המאפיין הזה רק ב-Target Endpoint. לדוגמה:

<HTTPTargetConnection>
    <Properties>
        <Property name="use.proxy.host.
         header.with.target.uri">true
        </Property>
    </Properties>
    <URL>https://mocktarget.apigee.net/
     my-target</URL>
</HTTPTargetConnection>
conf/http.properties+HTTPClient.proxy.type

מציין את סוג שרת ה-Proxy ל-HTTP, כ-HTTP או HTTPS. כברירת מחדל, המערכת משתמשת ב-HTTP.

conf/http.properties+HTTPClient.proxy.host

מציינת את שם המארח או את כתובת ה-IP שבהם פועל שרת ה-Proxy ל-HTTP.

conf/http.properties+HTTPClient.proxy.port

מציינת את היציאה שבה פועל שרת ה-Proxy ל-HTTP. אם המאפיין הזה מושמט, כברירת מחדל נעשה שימוש ביציאה 80 ל-HTTP וביציאה 443 ל-HTTPS.

conf/http.properties+HTTPClient.proxy.user
conf/http.properties+HTTPClient.proxy.password

אם שרת ה-Proxy ל-HTTP דורש אימות בסיסי, צריך להשתמש במאפיינים האלה כדי לספק את פרטי ההרשאה.

לדוגמה:

conf_http_HTTPClient.use.proxy=true
conf_http_HTTPClient.use.tunneling=false
conf/http.properties+HTTPClient.proxy.type=HTTP
conf/http.properties+HTTPClient.proxy.host=my.host.com
conf/http.properties+HTTPClient.proxy.port=3128
conf/http.properties+HTTPClient.proxy.user=USERNAME
conf/http.properties+HTTPClient.proxy.password=PASSWORD

אם מוגדר שרת proxy להעברה למעבד ההודעות, כל התנועה שעוברת משרתי proxy ל-API ליעדים בקצה העורפי עוברת דרך שרת ה-proxy להעברה ב-HTTP שצוין. אם התנועה ליעד ספציפי של שרת proxy ל-API צריכה לעבור ישירות ליעד של הקצה העורפי, בלי לעבור דרך שרת ה-proxy להעברה, צריך להגדיר את המאפיין הבא ב-TargetEndpoint כדי לשנות את שרת ה-proxy להעברה ב-HTTP:

<Property name="use.proxy">false</Property>

מידע נוסף על הגדרת המאפיינים של TargetEndpoint, כולל איך להגדיר את החיבור לנקודת הקצה (endpoint) של היעד, זמין במאמרי העזרה בנושא מאפייני נקודות קצה.

כדי להשבית את שרת ה-proxy להעברה לכל היעדים כברירת מחדל, מגדירים את המאפיין הבא בקובץ message-processor.properties:

conf_http_HTTPClient.use.proxy=false

לאחר מכן מגדירים את use.proxy ל-true בכל TargetEndpoint שרוצים שיעבור דרך שרת פרוקסי להעברת HTTP:

<Property name="use.proxy">true</Property>

כברירת מחדל, Edge משתמש במנהור לתנועה אל שרת ה-proxy. כדי להשבית את ה-tunneling כברירת מחדל, מגדירים את המאפיין הבא בקובץ message-processor.properties:

conf_http_HTTPClient.use.tunneling=false

אם רוצים להשבית את ה-tunneling ליעד ספציפי, מגדירים את המאפיין use.proxy.tunneling ב-TargetEndpoint. אם היעד משתמש ב-TLS/SSL, המערכת מתעלמת מהמאפיין הזה וההודעה תמיד נשלחת דרך מנהרה:

<Property name="use.proxy.tunneling">false</Property>

כדי ש-Edge עצמו יפעל כשרת ה-proxy להעברה – יקבל בקשות משירותי הקצה העורפי וינתב אותן לאינטרנט מחוץ לארגון – קודם צריך להגדיר proxy ל-API ב-Edge. לאחר מכן, שירות הקצה העורפי יכול לשלוח בקשה לשרת ה-proxy ל-API, שיכול להתחבר לשירותים חיצוניים.