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

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

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

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

מידע נוסף:

מידע על כינויי מארח

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

נתב Edge משווה את הכותרת Host של הבקשה הנכנסת לרשימת כינויי המארח הזמינים כחלק מקביעת שרת ה-API של שרת ה-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 לענן פרטי מגרסה 4.16.01 ואילך

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

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

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

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

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

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

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

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

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

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

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

    ב-Edge מוצג הטופס יצירת מארח וירטואלי.

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

  5. מגדירים את המארח הווירטואלי החדש. חשוב לשים לב שהשדה Base 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 API, שבו 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. המארח הווירטואלי מתווסף באופן אוטומטי לכל שרתי ה-proxy החדשים של ה-API. למידע נוסף, ראו הגדרת שרת proxy ל-API לשימוש במארח וירטואלי.

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

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

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