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

Edge for Private Cloud גרסה 4.17.09

מארח וירטואלי ב-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 משווה את הכותרת מארח של הבקשה הנכנסת לרשימת כינויי המארחים הזמינים כחלק מקביעת שרת ה-API של שרת ה-API שמטפל בבקשה. כששולחים בקשה דרך מארח וירטואלי, צריך לציין שם דומיין שתואם לכינוי המארח של מארח וירטואלי, או לציין את כתובת ה-IP של הנתב ואת כותרת המארח שמכילה את כינוי המארח.

לדוגמה, אם יצרתם מארח וירטואלי עם כינוי מארח של 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://myapis.apigee.net/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

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

    הערה: פקודת cURL, רוב הדפדפנים ושירותים רבים אחרים מוסיפים באופן אוטומטי את הכותרת Host לדומיין במסגרת הבקשה, כך שתוכלו להשתמש בפועל בפקודת cURL בטופס:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

אפשרויות כשאין רשומת 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}