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

אתה צופה בתיעוד של Apigee Edge.
הצג תיעוד של Apigee X.

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

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

מידע נוסף:

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

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

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

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

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

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

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

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

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

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

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

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

    כמו כן, חשוב לזכור:

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

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