מארח וירטואלי ב-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 משווה את הכותרת Host
של הבקשה הנכנסת לרשימת כינויי המארח הזמינים כחלק מקביעת שרת ה-API של שרת ה-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