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

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

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

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

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

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

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

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

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

מארחים וירטואליים כוללים את המידע הבא:

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

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

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

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

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

איפה:

  • הפרמטר {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 Cloud

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

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

סביבה שם המארח הווירטואלי כתובת אימייל חלופית של מארח יציאה TLS מופעל
prod ברירת מחדל {org-name}-prod.apigee.net 80 לא
מאובטח {org-name}-prod.apigee.net 443 כן
test ברירת מחדל {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 לענן פרטי

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

כינויי מארח ושמות DNS ב-Edge עבור Cloud

ב-Edge for Cloud, כשיוצרים לראשונה ארגון Edge, Apigee יוצר באופן אוטומטי שתי סביבות (test ו-prod), שני מארחים וירטואליים בכל סביבה (ברירת מחדל ומאובטחת) ורשומות 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 שמוגדר כברירת מחדל. לשם כך עליך ליצור תחילה רשומת DNS ורשומת CNAME משלך.

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

בדוגמה הזו:

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

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

  • name = myvhost
  • כינוי מארח = apis.acme.com
  • יציאה = 443
  • הפעלת גישה ל-TLS (אבטחת שכבת התעבורה)

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

כינויי מארח ושמות DNS ב-Edge לענן פרטי

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

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

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

ב-Edge לענן הפרטי, צריך ליצור את ערכי ה-DNS לכתובת ה-IP וליציאה של הנתב.

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

  • name = myvhost
  • כינוי מארח = apis.acme.com
  • יציאה = 9001
  • הפעלת גישה ל-TLS (אבטחת שכבת התעבורה)

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

בדוגמה הזו:

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

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