הגדרת מארחים וירטואליים לענן פרטי

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

בהתקנה מקומית, יש לכם שליטה מלאה על מארחים וירטואליים. אתם יכולים ליצור מארחים וירטואליים לכל ארגון, בכל סביבה, עם או בלי TLS.

במאמר הזה נסביר איך ליצור מארח וירטואלי פשוט. כלומר, שרת שלא תומך ב-TLS. דוגמאות נוספות, כולל דוגמאות ליצירת מארחים וירטואליים שתומכים ב-TLS, זמינות במאמר הגדרת גישת TLS ל-API עבור Private Cloud.

מידע נוסף:

מידע על שמות מארחים חלופיים

כשיוצרים את המארח הווירטואלי, צריך לציין את הכינוי של המארח הווירטואלי. בדרך כלל זהו שם ה-DNS של המארח הווירטואלי.

נתב Edge משווה את הכותרת 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.

    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

מידע על יציאות של מארחים וירטואליים ב-Edge ל-Private Cloud 4.16.01 ואילך

כשיוצרים מארח וירטואלי, מציינים את יציאת הנתב שבה המארח הווירטואלי משתמש. לדוגמה, יציאה 9001.

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

יצירת מארחים וירטואליים

בקטע הזה מוסבר איך ליצור מארחים וירטואליים ב-Apigee Edge for Private Cloud. שימו לב: כדי ליצור מארח וירטואלי חדש, אתם צריכים להיות אדמינים בארגון.

אפשר ליצור מארחים וירטואליים ל-Apigee Edge לענן פרטי באמצעות ה-API או ממשק המשתמש של Edge. הן מתוארות בקטעים הבאים.

יצירת מארח וירטואלי באמצעות דפדפן

בקטע הזה מוסבר איך ליצור מארח וירטואלי באמצעות דפדפן (בממשק המשתמש של Edge בלבד).

כדי ליצור מארח וירטואלי חדש בממשק המשתמש של Edge:

  1. מתחברים לממשק המשתמש של Edge Management.
  2. בוחרים באפשרות ניהול > מארחים וירטואליים.
  3. בוחרים את הסביבה מהרשימה הנפתחת.

    ב-Edge מוצגת רשימה של מארחים וירטואליים עבור הסביבה הזו.

  4. כדי ליצור מארח וירטואלי חדש, לוחצים על + מארח וירטואלי.

    ב-Edge מוצג הטופס Create Virtual Host (יצירת מארח וירטואלי).

    אפשר גם ללחוץ על השם של מארח וירטואלי קיים כדי לערוך אותו.

  5. מגדירים את המארח הווירטואלי החדש. שימו לב שהשדה כתובת URL בסיסית חייב לכלול את הפרוטוקול (כלומר, צריך להוסיף לערך של השדה את הקידומת http://‎ או https://‎).

    בנוסף, חשוב לשים לב לנקודות הבאות:

    • אין הגבלה על מספר המארחים הווירטואליים שאפשר ליצור
    • השימוש ב-TLS הוא אופציונלי, והוא יכול להיות בגרסה 1.0, 1.1 או 1.2
    • אפשר להגדיר את היציאה של המארח הווירטואלי
  6. לוחצים על הלחצן יצירה כדי לשמור את המארח הווירטואלי החדש.

יצירת מארח וירטואלי באמצעות API

כדי ליצור מארח וירטואלי באמצעות ה-API, יוצרים אובייקט XML שמגדיר את המארח הווירטואלי. לדוגמה, אובייקט ה-XML הבא מגדיר מארח וירטואלי שמשתמש בפרוטוקול HTTP:

<VirtualHost name="myVHost">
   <HostAliases>
     <HostAlias>DNS_name_or_IP:port</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>9005</Port>
</VirtualHost>

שימו לב שהמארח הווירטואלי מכיל מאפיין name. משתמשים בערך של הנכס name כדי להגדיר ש-proxy ל-API ישתמש במארח הווירטואלי.

לאחר מכן תוכלו לגשת ל-proxy ל-API דרך המארח הווירטואלי הזה על ידי שליחת בקשה אל:

http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path

כאשר:

  • http או https: אם המארח הווירטואלי מוגדר לתמיכה ב-TLS, צריך להשתמש ב-HTTPS. אם המארח הווירטואלי לא תומך ב-TLS, צריך להשתמש ב-HTTP.
  • routerIP:port היא כתובת ה-IP ומספר היציאה של המארח הווירטואלי.
  • proxy-base-path ו-resource-path מוגדרים כשיוצרים את שרת ה-proxy ל-API.

בדרך כלל, לא מפרסמים ממשקי API ללקוחות עם כתובת IP ומספר יציאה. במקום זאת, מגדירים רשומת DNS לנתב ולפורט. לדוגמה:

http://api.myCompany.com/proxy-base-path/resource-path
https://api.myCompany.com/proxy-base-path/resource-path

אם מגדירים את רשומת ה-DNS, צריך ליצור כינוי מארח למארח הווירטואלי שתואם לשם הדומיין של רשומת ה-DNS. כינוי המארח צריך להיות זהה למחרוזת שהלקוח מעביר בכותרת Host. בדוגמה שלמעלה, צריך לציין כינוי מארח של api.myCompany.com.

<VirtualHost name="myVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Interfaces/>
    <Port>9005</Port>
</VirtualHost>

כדי ליצור מארח וירטואלי שמשתמש בפרוטוקול HTTP:

  1. יוצרים את המארח הווירטואלי באמצעות ממשק ה-API‏ Create a Virtual Host, כאשר ms-IP היא כתובת ה-IP או שם הדומיין של צומת שרת הניהול:
    $ curl -X POST -H "Content-Type:application/xml" \
    http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
    -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9005</Port>
      </VirtualHost>' \
    -u sysAdminEmail:password
  2. יוצרים את רשומת ה-DNS עבור המארח הווירטואלי שתואמת לכינוי המארח.
  3. אם יש לכם שרתי proxy קיימים של API, מוסיפים את המארח הווירטואלי לרכיב <HTTPConnection> בנקודת הקצה של ה-Proxy. המארח הווירטואלי נוסף אוטומטית לכל ה-API Proxy החדשים. מידע נוסף זמין במאמר הגדרת proxy ל-API לשימוש במארח וירטואלי.

שינוי של מארח וירטואלי

כדי לשנות מארח וירטואלי, מבצעים את הפעולות הבאות:

  1. מעדכנים את המארח הווירטואלי באמצעות ה-API‏ Update a Virtual Host, כאשר <ms-IP> היא כתובת ה-IP או שם הדומיין של צומת שרת הניהול. צריך לציין בגוף הבקשה את ההגדרה המלאה של המארח הווירטואלי, ולא רק את הרכיבים שרוצים לשנות. בדוגמה הזו, משנים את מספר היציאה של המארח הווירטואלי מ-9008 ל-9009:

    curl -X PUT -H "Content-Type:application/xml" \
      http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
      -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9009</Port>
      </VirtualHost>' \
      -u email:password
  2. ב-Edge for Private Cloud בגרסאות 4.16.01 ו-4.16.05 בלבד, אם משנים מארח וירטואלי קיים ומפעילים או משביתים את TLS בלי לשנות את מספר היציאה, אז:
    1. עוצרים את הנתב:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. מחיקת קבצים ב-/opt/nginx/conf.d:

      rm -f /opt/nginx/conf.d/*
    3. מפעילים את הנתב:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. חוזרים על הפעולה לכל הנתבים.