מארח וירטואלי ב-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