שרשור שרתי proxy של API יחד

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

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

באמצעות שרשור של שרת proxy, מציינים ששרת proxy אחד הוא נקודת הקצה המקומית לטירגוט של שרת ה-proxy השני. במקום להשתמש ברכיב HTTPTargetConnection כדי לבצע קריאה לשרת ה-proxy השני, משתמשים ברכיב LocalTargetConnection.

<LocalTargetConnection>
    <APIProxy>myproxy2</APIProxy>
    <ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>

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

סרטון: מומלץ לצפות בסרטון קצר כדי לקבל מידע נוסף על שרשורי proxy באמצעות API.

איך פועל שרשור של שרת proxy

שירות 'שרשור שרת proxy' משתמש בחיבור מקומי כדי למזער את תקורת הרשת בעת קריאה לשרת proxy אחד לאחר. החיבור המקומי הזה יעיל יותר כי הוא עוקף תכונות רשת כמו מאזני עומסים, נתבים ומעבדי הודעות.

הדוגמה הבאה ממחישה את ההבדל בין חיבור שרתי proxy באמצעות HTTPTargetConnection לבין LocalTargetConnection (שרשור של שרת proxy):

כדי לחבר שרתי proxy, צריך לציין שאחד מהם הוא נקודת קצה (endpoint) מקומית של השני. אפשר ליצור חיבור מקומי בין שרתי proxy בשתי דרכים:

  • על ידי ציון השם של שרת ה-proxy המשמש כיעד ושם ProxyEndpoint
  • על ידי ציון נתיב לנקודת הקצה של שרת ה-proxy המיועד

צריך לחבר שרתי proxy למטרות הגדרה בתוך TargetEndpoint, באמצעות רכיב LocalTargetConnection, כפי שמתואר בהמשך.

חיבור שרתי proxy לפי שם שרת proxy

אפשר לציין את שם שרת ה-Proxy המשמש כיעד. האפשרות הזו שימושית במיוחד אם יוצרים את החיבור מההתחלה ומפתחים את שרתי ה-proxy יחד. אם השם לא ידוע לך (או שהשם עשוי להשתנות), כדאי להתחבר לנתיב נקודת הקצה של שרת ה-proxy של היעד, כפי שמתואר בהמשך.

כשמתחברים לשרת proxy יעד לפי שם, מציינים את השם של שרת ה-proxy ואת שם ProxyEndpoint שלו.

בדוגמה הבאה מצוין שרת Proxy יעד שנקרא data-manager, יחד עם השם ProxyEndpoint שנחשף על ידי data-manager. מידע נוסף זמין במאמר מידע על הגדרה של שרת proxy ל-API.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <APIProxy>data-manager</APIProxy>
        <ProxyEndpoint>default</ProxyEndpoint>
    </LocalTargetConnection>
</TargetEndpoint>

חיבור שרתי proxy לפי נתיב

אפשר לציין את שרת ה-proxy של היעד לפי הנתיב של נקודת הקצה שלו. כדאי לעשות זאת באופן זה כשלא יודעים את שם שרת ה-proxy, או כאשר השם עשוי להשתנות.

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

בדוגמה הבאה מצוין שרת proxy כיעד ב-/v1/streetcarts/foodcarts/data-manager, שבו ההנחה היא שהמארח זהה לשרת ה-Proxy הנוכחי. מידע נוסף זמין במאמר חומר עזר בנושא תצורה של שרת proxy ל-API.

<TargetEndpoint name="datamanager">
    <PreFlow name="PreFlow">
        <!-- PreFlow policies -->
    </PreFlow>
    <PostFlow name="PostFlow">
        <!-- PostFlow policies -->
    </PostFlow>
    <LocalTargetConnection>
        <Path>/v1/streetcarts/foodcarts/data-manager</Path> 
    </LocalTargetConnection>
</TargetEndpoint>

חיבור שרתי proxy למסוף הניהול

אפשר ליצור חיבורי שרשור של שרת proxy באמצעות מסוף הניהול של Edge.

  1. פותחים את שרת ה-proxy שיגרום לצרוך את שרת ה-proxy של היעד.
  2. בכלי הניווט, לוחצים על סמל הפלוס לצד Target Endpoints.
  3. בתיבת הדו-שיח New Target Endpoint (נקודת יעד חדשה) מזינים את השם של נקודת הקצה (endpoint) של היעד.
  4. מתחת לתיבה Target Endpoint Name (שם נקודת הקצה של היעד), בוחרים באחת מהאפשרויות הבאות:
    • שרשור של שרת Proxy כדי לבחור מתוך רשימה של שרתי proxy שכבר קיימים בארגון ובסביבה.
      1. בתפריט הנפתח שם שרת Proxy, בוחרים את שרת ה-Proxy הרצוי.
      2. בתיבה נקודת קצה של שרת Proxy, מזינים את הנתיב של נקודת הקצה של שרת ה-Proxy שאליו רוצים להתחבר.
    • שרשור נתיבים כדי להזין את נתיב הבסיס של שרת ה-proxy של היעד, למשל /mypath/myproxy/myendpoint.
  5. לוחצים על הוספה.

שרתי proxy בשרשרת, מוצרי API ואבטחה

שרשור שרת proxy מומלץ במקרים שבהם שני שרתי ה-proxy נמצאים באותו מוצר API. כברירת מחדל, שתי האפשרויות זמינות ללקוחות. בשלב זה, Apigee לא תומכת בקיבוץ של שרת ה-proxy השני במוצר API נפרד שללקוחות לא צריכה להיות גישה אליו.

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