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

Edge for Private Cloud גרסה 4.17.01

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

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

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

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

ה-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 של הנתב ומעבירים את הכינוי המארח בכותרת המארח.

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


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

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

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

192.168.1.31:9001

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

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

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

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

לחלופין, אפשר להגדיר את הכינוי של המארח לערך כמו 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}

שימוש ביציאה מוגנת במארח וירטואלי

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

כדי להפעיל את הנתב כמשתמש אחר:

  1. כמשתמש root, יוצרים את הקובץ /opt/apigee/etc/edge-router.d/RUN_USER.sh.
  2. מוסיפים את הרשומה הבאה לקובץ:
    RUN_USER=root
    אם לא רוצים להריץ את הנתב כמשתמש Root, צריך לציין משתמש עם גישה ליציאה.
  3. שומרים את הקובץ.
  4. אם ציינתם משתמש אחר שהוא לא root, צריך לשנות את הבעלים של הקובץ למשתמש הזה:
    > chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. מפעילים מחדש את הנתב:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart