הגדרת העברת בקשות דרך שרת proxy לשרתי proxy של API

פרוקסי קדימה מספק נקודה אחת שדרכה כמה מכונות שולחות בקשות לשרת חיצוני. הם יכולים לאכוף מדיניות אבטחה, לרשום ולנתח בקשות ולבצע פעולות אחרות כדי שהבקשות יתאימו לכללים העסקיים שלכם.

באמצעות שרת proxy קדימה ב-Apigee hybrid, אתם יכולים ליירט את כל תעבורת היציאה מאשכול Kubernetes ולנהל אותה. זה כולל בקשות פרוקסי של API לנקודות קצה של Target ותקשורת עם *.googleapis.com שזמן הריצה ההיברידי מבצע עבור צינור עיבוד הנתונים של ניפוי הבאגים והניתוח שלו, ועבור מדיניות כמו MessageLogging ומדיניות ה-AI (כמו SanitizeUserPrompt ו-SemanticCacheLookup).

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

כדי להגדיר סביבה היברידית להעברת בקשות דרך שרת proxy, מוסיפים את המאפיין envs.httpProxy לקובץ ההגדרות החלופיות ומחילים אותו על האשכול. לדוגמה:

‫
envs:
  - name: test
    httpProxy:
      scheme: HTTP
      host: 10.12.0.47
      port: 3128
      ...

פרטים על כל אחד ממאפייני ההגדרה envs.httpProxy מופיעים במאמר חומר עזר בנושא מאפייני הגדרה.

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

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

מידע נוסף על הגדרת המאפיינים של TargetEndpoint, כולל הוראות להגדרת החיבור לנקודת הקצה של היעד, זמין במאמר Endpoint properties reference.

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

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

אם יש לכם חומת אש בעורף שהוגדרה כך שכותרת המארח תמיד תכלול את שם המארח של שרת העורף, אבל מעבד ההודעות שולח את שם המארח של שרת ה-proxy, צריך לבצע את הפעולות הבאות כדי להגדיר את האפשרות הזו:

מגדירים את המאפיין use.proxy.host.header.with.target.uri למצב true ב-TargetEndpoint, כמו בדוגמה הבאה:

דוגמה להגדרה של TargetEndpoint:

  <TargetEndpoint name="default">
    <HTTPTargetConnection>
      <URL>https://mocktarget.apigee.net/json</URL>
      <Properties>
        <Property name="use.proxy.host.header.with.target.uri">true</Property>
      </Properties>
    </HTTPTargetConnection>
  </TargetEndpoint>

פרטים על המאפיין use.proxy.host.header.with.target.uri זמינים במאמר הפניה למאפייני נקודות קצה.

מדיניות בנושא AI ושרת proxy קדימה

מדיניות הגנה מוגברת על המודל (SanitizeUserPrompt ו-SanitizeModelResponse) ומדיניות המטמון הסמנטי (SemanticCacheLookup ו-SemanticCachePopulate) מבצעות שיחות יוצאות בזמן עיבוד הבקשות והתשובות. הם כוללים את הקריאות להסרת תוכן זדוני או רגיש של הגנה מוגברת על המודל, את הטמעות הטקסט של Agent Platform, את findNeighborsחיפוש וקטורי ואת הקריאות ל-upsertDatapoints.

כששרת proxy קדמי מוגדר לסביבה עם envs.httpProxy, כל הקריאות שלמעלה מנותבות דרך שרת ה-proxy הקדמי כברירת מחדל, בלי שנדרשת הגדרה ברמת המדיניות. ההתנהגות הזו נכונה גם לנקודות קצה שלא נמצאות ב-*.googleapis.com, כמו נקודת הקצה הציבורית של חיפוש וקטורי שאליה מתבצעת קריאה של SemanticCacheLookup.

הקריאות האלה למדיניות לשירותים חיצוניים מטופלות כמו תנועת הנתונים של המעקב והניתוח בזמן הריצה: אם מגדירים את envs[].managementCallsSkipProxy לערך true, הקריאות האלה מדלגות על ה-forward proxy ויוצאות ישירות. דילוג על פרוקסי קדימה חל על כל הקריאות שצוינו למעלה (כלומר, ניקוי, הטמעות טקסט, findNeighbors ו-upsertDatapoints). התנהגות פרוקסי קדימה ברמת הפרוקסי שונה מהתנהגות פרוקסי קדימה של TargetEndpoint, שנקבעת על ידי המאפיין use.proxy שלו.