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

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

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

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

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

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

  2. ערוך את הקובץ כדי להגדיר את המאפיינים הקשורים לשרת ה-proxy המתוארים בטבלה הבאה.
  3. יש לוודא שקובץ המאפיינים נמצא בבעלות ה-apigee user:
    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 משתמש במנהור לכל תעבורת הנתונים. כדי להשבית את המנהור כברירת מחדל: צריך להגדיר את המאפיין הזה כ-"false".

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

מגדיר את מארח היעד ויציאת היעד ככותרת Host. כברירת מחדל, שרת ה-proxy מארח ויציאה מוגדרות ככותרות Host. אפשר להגדיר את הנכס הזה רק נקודת קצה (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 קדימה מוגדר ל-MP, אז כל התנועה שמגיעה מה-API. שרתי proxy ליעדים לקצה העורפי עוברים דרך שרת ה-proxy שצוין להעברה ב-HTTP. אם התנועה של יעד ספציפי של שרת proxy ל-API צריך לעבור ישירות ליעד הקצה העורפי, תוך עקיפת ההעברה לשרת proxy, ואז להגדיר את המאפיין הבא ב-TargetEndpoint כדי לבטל את ההעברה מה-HTTP שרת proxy:

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

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

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

conf_http_HTTPClient.use.proxy=false

לאחר מכן יש להגדיר את use.proxy כ-"true" כל נקודת קצה (TargetEndpoint) שרוצים לעבור שרת proxy קדימה ל-HTTP:

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

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

conf_http_HTTPClient.use.tunneling=false

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

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

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