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

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

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

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

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

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

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

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

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

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

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

conf_http_HTTPClient.use.proxy=false

לאחר מכן מגדירים את use.proxy כ-"true" עבור כל נקודת קצה (endpoint) שרוצים לעבור דרך שרת 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, שיכול להתחבר לשירותים חיצוניים.