הגדרת מארח וירטואלי

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

כחלק מתהליך ההצטרפות ל-Edge, צריך ליצור ארגון, סביבה ומארח וירטואלי. ב-Edge יש את הפקודה setup-org כדי להקל על התהליך הזה למשתמשים חדשים.

כשיוצרים את המארח הווירטואלי, צריך לציין את הפרטים הבאים:

  • השם של המארח הווירטואלי שמשמש להפניה אליו בשרתי ה-Proxy של ה-API.
  • היציאה בנתב של המארח הווירטואלי. בדרך כלל היציאות האלה מתחילות ב-9001 וגדלות ב-1 לכל מארח וירטואלי חדש.
  • כינוי המארח של המארח הווירטואלי. בדרך כלל שם ה-DNS של המארח הווירטואלי.

לדוגמה, בקובץ תצורה שמועבר לפקודה setup-org, אפשר לציין את המידע הזה כך:

# Specify virtual host information
VHOST_PORT=9001
VHOST_NAME=default

# If you have a DNS entry for the virtual host
VHOST_ALIAS=myapis.apigee.net

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

לדוגמה, אם יצרתם מארח וירטואלי עם כינוי מארח של myapis.apigee.net ביציאה 9001, בקשת cURL ל-API דרך המארח הווירטואלי הזה יכולה להשתמש באחת מהצורות הבאות:

  • אם יש לכם רשומת DNS ל-myapis.apigee.net:
    curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
  • אם אין לכם רשומת DNS ל-myapis.apigee.net:
    curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'

    בטופס הזה מציינים את כתובת ה-IP של הנתב ומעבירים את הכינוי של המארח בכותרת Host.

אפשרויות כשאין רשומת DNS למארח הווירטואלי

אפשרות אחת כשאין לכם רשומת DNS היא להגדיר את כינוי המארח לכתובת ה-IP של הנתב וליציאה של המארח הווירטואלי, בתור routerIP:port. לדוגמה:

VHOST_ALIAS=192.168.1.31:9001

לאחר מכן, יוצרים פקודת curl בפורמט הבא:

curl http://routerIP:9001/proxy-base-path/resource-path

האפשרות הזו עדיפה כי היא פועלת היטב עם ממשק המשתמש החדש של Edge.

אם יש לכם כמה נתבים, הוסיפו כינוי מארח לכל נתב, וציינו את כתובת ה-IP של כל נתב ואת היציאה של המארח הווירטואלי:

# Specify the IP and port of each router as a space-separated list enclosed in quotes:
# VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"

אפשר גם להגדיר את הכינוי של המארח לערך כמו temp.hostalias.com. לאחר מכן, צריך להעביר את הכותרת Host בכל בקשה:

curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'

אפשר גם להוסיף את הכינוי של המארח לקובץ /etc/hosts. לדוגמה, מוסיפים את השורה הזו ל-/etc/hosts:

192.168.1.31   temp.hostalias.com

לאחר מכן תוכלו לשלוח בקשה כאילו יש לכם רשומת DNS:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path