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

Edge for Private Cloud בגרסה 4.17.09

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

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

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

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

    הערה: הפקודה 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}