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

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

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

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

מידע נוסף:

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

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

כדי לקבוע איזה שרת proxy של API יטפל בבקשה, Edge Router משווה את הכותרת Host של הבקשה הנכנסת לרשימת כתובות ה-host החלופיות הזמינות. כששולחים בקשה דרך מארח וירטואלי, צריך לציין שם דומיין שתואם לכתובת החלופית של המארח הווירטואלי, או לציין את כתובת ה-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 לענן פרטי מגרסה 4.16.01 ואילך, כברירת מחדל, הנתב פועל בתור המשתמש 'apigee' ואין לו גישה ליציאות מוגבלות, בדרך כלל היציאות 1024 ומטה. אם רוצים ליצור מארח וירטואלי שמקשר את הנתב ליציאה מוגנת, צריך להגדיר את הנתב כך שיפעל כמשתמש עם גישה ליציאות האלה. מידע נוסף זמין במאמר הגדרת מארח וירטואלי.

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

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

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

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

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

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

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

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

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

    ב-Edge מוצג הטופס Create Virtual Host.

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

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