מידע על מארחים וירטואליים

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

ב-Edge, רכיב Router מטפל בכל תעבורת הנתונים הנכנסת של API. כלומר, כל הבקשות מסוג HTTP ו-HTTPS ל-proxy ל-API מטופלות קודם על ידי Edge Router.

מארח וירטואלי מאפשר לכם לארח כמה שמות דומיין בשרת. ב-Edge, השרת תואם לנתב Edge. אם מגדירים כמה מארחים וירטואליים בנתב, הנתב יכול לטפל בבקשות API לכמה שמות דומיין.

מארח וירטואלי ב-Edge מגדיר את פרוטוקול הגישה (HTTP או HTTPS), יציאת נתב פתוחה וכינוי מארח. כינוי המארח הוא בדרך כלל שם הדומיין של ה-DNS שממופה לכתובת ה-IP של הנתב.

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

המארח הווירטואלי הראשון מטפל בבקשות HTTPS בדומיין domainName1, והשני מטפל בבקשות HTTP בדומיין domainName2.

כשמתקבלת בקשה ל-proxy ל-API, הנתב משווה את הכותרת Host של הבקשה הנכנסת לרשימה של כינויי מארחים שמוגדרים על ידי כל המארחים הווירטואליים, כדי לקבוע איזה מארח וירטואלי מטפל בבקשה.

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

המידע שמופיע במארחים וירטואליים:

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

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

  • name = myvhost
  • כינוי המארח = apis.acme.com
  • port = 443
  • TLS מופעל

בהתאם להגדרה שלמעלה עבור המארח הווירטואלי, בקשה ל-proxy ל-API משתמשת בפורמט הבא:

https://apis.acme.com/{proxy-base-path}/{resource-path}

where:

  • הערך {proxy-base-path} מוגדר כשיוצרים proxy ל-API והוא ייחודי לכל proxy ל-API. לדוגמה:
    https://apis.acme.com/characters
  • {resource-path} הנתיב למשאב שאפשר לגשת אליו דרך proxy ל-API. לדוגמה:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

מידע על מארחים וירטואליים ב-Edge for the Cloud

כל ארגון Edge כולל אוטומטית שתי סביבות (test ו-prod), שני מארחים וירטואליים בכל סביבה (default ו-secure) ורשומות DNS לכל כינוי מארח.

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

סביבה שם מארח וירטואלי כתובת אימייל חלופית של מארח יציאה TLS מופעל
prod ברירת מחדל {org-name}-prod.apigee.net 80 לא
מאובטח {org-name}-prod.apigee.net 443 כן
בדיקה ברירת מחדל {org-name}-test.apigee.net 80 לא
מאובטח {org-name}-test.apigee.net 443 כן

לדוגמה, שם הדומיין שמוגדר כברירת מחדל בארגון שנקרא myorg בסביבת prod הוא myorg-prod.apigee.net. לכן, כדי לגשת ל-proxy ל-API בארגון הזה, צריך להשתמש בכתובת URL מהסוג הבא:

http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}

תוכניות בתשלום של Apigee: יכול להיות ששם דומיין שמכיל את המחרוזת apigee.net לא מתאים למה שאתם רוצים להציג ללקוחות. אתם יכולים להשתמש ברשומת DNS וברשומת CNAME כדי למפות שם דומיין לארגון שלכם ב-Edge. בנוסף, צריך ליצור מארח וירטואלי עם שם מארח חלופי שמוגדר לשם הדומיין הזה. כך מפתחים יכולים לגשת ל-API שלכם דרך דומיין שספציפי לחברה שלכם.

דוגמה לדומיין בהתאמה אישית ב-Edge:

https://apis.acme.com/{proxy-base-path}/{resource-path}

מידע על מארחים וירטואליים ב-Edge for Private Cloud

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

כדי לבצע צירוף, מריצים את הפקודה הבאה בצומת של שרת ניהול Edge:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

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

לדוגמה, אתם יוצרים:

  • משתמש שתבחרו שישמש כאדמין של הארגון
  • ארגון בשם example
  • סביבה בארגון בשם prod
  • מארח וירטואלי בסביבה בשם default שמאפשר גישת HTTP ביציאה 9001
  • שם מארח חלופי של שם ה-DNS שמשמש לגישה לנתב, או כתובת ה-IP של הנתב והיציאה של המארח הווירטואלי בתבנית IP:9001.

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

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

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose

אחרי הרצת הפקודה הזו, אפשר לגשת לממשקי ה-API באמצעות כתובת URL בפורמט:

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

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

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

כשמגדירים את רשומת ה-DNS, צריך גם ליצור מארח וירטואלי עם כינוי מארח שתואם לשם הדומיין של רשומת ה-DNS. בדוגמה שלמעלה, כשיוצרים את המארח הווירטואלי, מציינים כינוי מארח של myAPI.myCo.com.

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

אחת מהתכונות שאתם מגדירים למארח וירטואלי היא כינוי המארח. כינוי המארח הוא בדרך כלל שם ה-DNS של המארח הווירטואלי. הדרך להגדרת הכינוי למארח משתנה בהתאם לסוג ההתקנה של Edge: Cloud או Private Cloud.

כינויי מארחים ושמות DNS ב-Edge for the Cloud

ב-Edge for the Cloud, כשיוצרים ארגון Edge בפעם הראשונה, מערכת Apigee יוצרת באופן אוטומטי שתי סביבות (test ו-prod), שני מארחים וירטואליים בכל סביבה (default ו-secure) ורשומות DNS לכל מארח וירטואלי.

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

  • http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}

בדרך כלל, כדאי ליצור מארחים וירטואליים שמשתמשים בשם הדומיין שלכם, במקום להשתמש בדומיין apigee.net שמוגדר כברירת מחדל. כדי לעשות זאת, קודם צריך ליצור רשומת CNAME ורשומת DNS משלכם.

האיור הבא מציג הגדרה אופיינית של אופן העיבוד של בקשת API ב-Edge:

בדוגמה הזו:

  • api.acme.com הוא שם הדומיין הרצוי.
  • מגדירים רשומת DNS ורשומת CNAME כדי להפנות את api.acme.com אל acme-prod.apigee.net.
  • הבקשה מכילה את הכותרת Host שהנתב משתמש בה כדי לקבוע את המארח הווירטואלי שמטפל בבקשה.

בדוגמה הזו, מציינים את הפרטים הבאים בהגדרת מארח וירטואלי:

  • name = myvhost
  • כינוי המארח = apis.acme.com
  • port = 443
  • הפעלת גישת TLS

מידע נוסף זמין במאמר בנושא הגדרת מארחים וירטואליים ל-Cloud.

כינויי מארחים ושמות DNS ב-Edge for Private Cloud

בדומה ל-Edge for the Cloud, אתם יוצרים מארחים וירטואליים שמשתמשים בשם הדומיין שלכם בתור כינוי המארח. לאחר מכן יוצרים רשומת DNS ורשומת CNAME משלכם כדי לגשת למארחים הווירטואליים האלה.

אחד ההבדלים בין Cloud לבין Private Cloud הוא שב-Cloud,‏ Apigee יוצר באופן אוטומטי שמות DNS לארגונים שלכם, בתבנית:

  • name=default: http://{org-name}-{env-name}.apigee.net (Router port 80)
  • name=secure: https://{org-name}-{env-name}.apigee.net (יציאה 443 בנתב)

ב-Edge for the Private Cloud, צריך ליצור את רשומות ה-DNS לכתובת ה-IP ולפורט של הנתב.

לדוגמה, אתם מציינים את המידע הזה בהגדרת מארח וירטואלי:

  • name = myvhost
  • כינוי המארח = apis.acme.com
  • port = 9001
  • הפעלת גישת TLS

האיור הבא מציג הגדרה אופיינית של אופן העיבוד של בקשת API ב-Edge:

בדוגמה הזו:

  • api.acme.com הוא שם הדומיין הרצוי.
  • מגדירים רשומת DNS ורשומת CNAME כדי להפנות את api.acme.com לכתובת ה-IP וליציאה של הנתב.
  • הבקשה מכילה את הכותרת Host שהנתב משתמש בה כדי לקבוע את המארח הווירטואלי שמטפל בבקשה.

מידע נוסף זמין במאמר בנושא הגדרת מארחים וירטואליים לענן הפרטי.

כינויים ותווים כלליים לחיפוש מארחים

אפשר לכלול את התו הכללי '*' בכינוי המארח. התו הכללי '*' יכול להופיע רק בתחילת הכינוי של המארח (לפני הנקודה הראשונה), ואי אפשר לשלב אותו עם תווים אחרים.

דוגמה לכינוי מארח תקין באמצעות תווים כלליים לחיפוש:

*.example.com

דוגמאות לערכים לא תקינים:

  www.*.example.com
  w*.example.com

שימוש בתו כללי לחיפוש בכינוי של מארח וירטואלי מאפשר לשרתי proxy ל-API לטפל בקריאות שמיועדות לכמה תת-דומיינים, כמו alpha.example.com, beta.example.com או live.example.com. שימוש בכינוי עם תו כללי לחיפוש עוזר גם להשתמש בפחות מארחים וירטואליים לכל סביבה כדי לא לחרוג ממגבלות המוצר, כי מארח וירטואלי עם תו כללי לחיפוש נחשב כמארח וירטואלי אחד בלבד.

באישור ה-TLS של המארח הווירטואלי צריך להיות תו כללי תואם בשם הנפוץ (CN) של האישור. לדוגמה, *.example.com.

מידע על מאפייני מארח וירטואלי

ב-Edge, מארח וירטואלי מיוצג על ידי אובייקט XML. לדוגמה, אובייקט ה-XML הבא מגדיר מארח וירטואלי:

<VirtualHost name="vhostName">
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    <Port>portNumber</Port>
    <BaseURL>http://myCo.com<</BaseUrl>
    <OCSPStapling>off</OCSPStapling>
    <RetryOptions/>
   <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

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

מידע נוסף על יצירת מארחים וירטואליים לגרסה הספציפית של Edge זמין במאמרים הבאים: