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

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

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

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

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

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

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

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

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

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

מגדירים את 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) מבצעות קריאות יוצאות בזמן עיבוד הבקשות והתשובות. הם כוללים את הקריאות לניקוי של הגנה מוגברת על המודל, ואת הטמעות הטקסט ב-Vertex AI, את הקריאות לחיפוש וקטורי findNeighbors ואת הקריאות ל-upsertDatapoints.

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

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