אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
ייצוג של מארח וירטואלי
אובייקט ה-XML שמשמש להגדרת מארח וירטואלי מבוסס על הגרסה של Edge: Cloud או Private Cloud.
אם אתם לקוחות של Private Cloud, אתם צריכים לוודא שאתם משתמשים ב-XML הנכון לגרסה של Edge.
Cloud ו-Private Cloud 4.17.01 ואילך
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<BaseUrl>http://myCo.com</BaseUrl>
<OCSPStapling>offOn</OCSPStapling>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<!-- Private Cloud only -->
<Interface>interfaceName</Interface>
</Interfaces>
<RetryOptions>
<RetryOption>option</RetryOption>
</RetryOptions>
<ListenOptions>
<ListenOption>option</ListenOption>
</ListenOptions>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
<!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
<UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
<PropagateTLSInformation>
<!-- PropagateTLSInformation is Alpha in the Cloud only -->
<ConnectionProperties>trueFalse</ConnectionProperties>
<ClientProperties>trueFalse</ClientProperties>
</PropagateTLSInformation>
<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>
<!-- ssl_protocols is Private Cloud only -->
<Property name="ssl_protocols">protocolList</Property>
<Property name="ssl_ciphers">cipherList</Property>
</Properties>
</VirtualHost>Private Cloud 4.16.01 עד 4.16.09
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<Interface>interfaceName</Interface>
</Interfaces>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
</VirtualHost>Private Cloud 4.15.07 וגרסאות מוקדמות יותר
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<Interface>interfaceName</Interface>
</Interfaces>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>keystore</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>truststore</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
<Ciphers>
<Cipher>cipher</Cipher>
<Cipher>cipher</Cipher>
</Ciphers>
<Protocols>
<Protocol>protocol</Protocol>
<Protocol>protocol</Protocol>
</Protocols>
</SSLInfo>
</VirtualHost>מאפייני ההגדרה של מארח וירטואלי
בטבלה הבאה מפורטים המאפיינים שמשמשים להגדרת מארח וירטואלי:
| מאפיינים | תיאור | ברירת מחדל | חובה | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VirtualHost |
מציין את השם של המארח הווירטואלי. משתמשים בשם הזה כדי להתייחס למארח הווירטואלי כשמגדירים proxy ל-API. התווים שאפשר להשתמש בהם במאפיין השם מוגבלים ל: A-Z0-9._\-$%. |
ללא | כן | ||||||||||||
| יציאה |
מציינים את מספר היציאה שבה נעשה שימוש על ידי המארח הווירטואלי. מוודאים שהיציאה פתוחה בנתב Edge. אם מציינים יציאה ברכיב ב-Cloud: כשיוצרים מארח וירטואלי, צריך לציין את יציאה 443. אם לא מציינים את היציאה, ברירת המחדל היא 443. אם יש לכם מארח וירטואלי קיים שמשתמש ביציאה שאינה 443, לא תוכלו לשנות את היציאה. בגרסאות Private Cloud 4.16.01 עד 4.17.05: כשיוצרים מארח וירטואלי, מציינים את יציאת הנתב שבה המארח הווירטואלי משתמש. לדוגמה, יציאה 9001. כברירת מחדל, הנתב פועל כמשתמש 'apigee' שאין לו גישה ליציאות עם הרשאות, בדרך כלל יציאות 1024 ומטה. אם רוצים ליצור מארח וירטואלי שמקשר את הנתב ליציאה מוגנת, צריך להגדיר את הנתב כך שיפעל כמשתמש עם גישה ליציאות האלה. מידע נוסף זמין במאמר בנושא הגדרת מארח וירטואלי. במהדורות של Private Cloud לפני 4.16.01: נתב יכול להאזין רק לחיבור HTTPS אחד לכל מארח וירטואלי, ביציאה ספציפית, עם האישור שצוין. לכן, אם ההצפנה מסוג TLS מסתיימת בנתב ביציאה שצוינה, אי אפשר להשתמש באותו מספר יציאה בכמה מארחים וירטואליים. |
ללא | כן | ||||||||||||
| BaseUrl | המדיניות הזו משנה את כתובת ה-URL שמוצגת בממשק המשתמש של Edge עבור proxy ל-API שנפרס למארח וירטואלי. הפרמטר הזה שימושי אם יש לכם מאזן עומסים חיצוני לפני נתבי ה-Edge. מידע נוסף זמין במאמר בנושא הגדרת גישת TLS ל-API עבור הענן הפרטי.
הערך של |
ללא | לא | ||||||||||||
| OCSPStapling |
לקוח OCSP (Online Certificate Status Protocol) שולח בקשת סטטוס למשיב OCSP כדי לקבוע אם אישור ה-TLS תקף. התגובה מציינת אם אישור ה-TLS תקף ולא בוטל. כשמפעילים את OCSP stapling, Edge, שפועל כשרת TLS עבור TLS חד-כיווני, יכול לשלוח שאילתה ישירות למשיב OCSP ואז לשמור את התגובה במטמון. לאחר מכן, Edge מחזיר את התגובה הזו ללקוח TLS, או מצמיד אותה כחלק מתהליך לחיצת היד של TLS. מידע נוסף זמין במאמר בנושא הפעלת OCSP Stapling בשרת. כדי להפעיל OCSP stapling, צריך להפעיל TLS. כדי להפעיל, צריך להגדיר את האפשרות |
מושבתת | לא | ||||||||||||
| HostAliases | |||||||||||||||
| HostAlias |
שם ה-DNS שגלוי לכולם של המארח הווירטואלי בנתב, כולל מספר היציאה (אופציונלי). השילוב של שם הכינוי של המארח ומספר היציאה של המארח הווירטואלי חייב להיות ייחודי לכל המארחים הווירטואליים בהתקנת Edge. כלומר, כמה מארחים וירטואליים יכולים להשתמש באותו מספר יציאה אם יש להם כינויי מארח שונים. צריך ליצור רשומת CNAME ורשומת DNS שתואמות לכינוי המארח, והכינוי צריך להיות זהה למחרוזת שהלקוח מעביר בכותרת מספר היציאה ב- יכולות להיות כמה הגדרות של אפשר לכלול את התו הכללי '*' בכינוי המארח. התו הכללי '*' יכול להופיע רק בתחילת הכינוי של המארח (לפני הנקודה הראשונה '.'), ואי אפשר לשלב אותו עם תווים אחרים.
לדוגמה ב-Cloud: אם יש לכם מארח וירטואלי קיים שמשתמש ביציאה שאינה 443, לא תוכלו להוסיף או להסיר כינוי מארח. ב-Private Cloud: אם מגדירים את הכינוי של המארח באמצעות כתובות ה-IP של הנתבים, ולא באמצעות רשומות DNS, צריך להוסיף כינוי מארח נפרד לכל נתב, ולציין את כתובת ה-IP של כל נתב ואת היציאה של המארח הווירטואלי. |
ללא | כן | ||||||||||||
| ממשקים | זמין רק ב-Edge for Private Cloud. | ||||||||||||||
| ממשק |
מציינים את הממשקים ברשת שרוצים לדוגמה, כדי לציין שהיציאה תאוגד רק ל-en0: <Interfaces> <Interface>en0</Interface> </Interfaces> כדי לראות את הממשקים שזמינים במערכת, מריצים את הפקודה ifconfig -a. |
ללא | כל הממשקים | ||||||||||||
| RetryOptions | זמין ב-Edge Cloud וב-Private Cloud בגרסה 4.18.01 ואילך. | ||||||||||||||
| RetryOption |
מגדירים איך הנתב מגיב למארח הוירטואלי הזה כשמעבד ההודעות מושבת. אפשר לציין כמה ערכים באמצעות
אם מציינים כמה ערכים, הנתב משתמש בלוגיקת OR כדי לשלב אותם. לדוגמה: <RetryOptions> <RetryOption>http_599</RetryOption> <RetryOption>error</RetryOption> <RetryOption>timeout</RetryOption> <RetryOption>invalid_header</RetryOption> </RetryOptions> |
||||||||||||||
| ListenOptions | אפשר להשתמש באפשרות הזו ב-Private Cloud מגרסה 4.18.01 ואילך וב-Edge Cloud, על ידי שליחת בקשה אל התמיכה של Apigee Edge. | ||||||||||||||
| ListenOption |
אם אתם משתמשים ב-ELB במצב TCP pass-thru כדי לטפל בבקשות לנתבי Edge, הנתב מתייחס לכתובת ה-IP של ה-ELB ככתובת ה-IP של הלקוח במקום לכתובת ה-IP האמיתית של הלקוח. אם הנתב דורש את כתובת ה-IP המקורית של הלקוח,
צריך להפעיל את ערך ברירת המחדל של לדוגמה: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> כדי לבטל את ההגדרה של |
||||||||||||||
| SSLInfo | |||||||||||||||
| מופעל |
הפעלה של TLS/SSL חד-כיווני. צריך להגדיר מאגר מפתחות שמכיל את האישור ואת המפתח הפרטי. ב-Cloud: צריך אישור שחתום על ידי גורם מהימן, כמו Symantec או VeriSign. אי אפשר להשתמש באישור עם חתימה עצמית או באישור עלים שנחתם על ידי רשות אישורים עם חתימה עצמית. ב-Cloud: אם המארח הווירטואלי הקיים מוגדר להשתמש ביציאה שאינה 443, אי אפשר לשנות את הגדרת ה-TLS. כלומר, אי אפשר לשנות את הגדרת ה-TLS ממצב מופעל למצב מושבת, או ממצב מושבת למצב מופעל. |
false | לא | ||||||||||||
| ClientAuthEnabled | ההגדרה הזו מאפשרת TLS דו-כיווני, או TLS של לקוח, בין Edge (השרת) לבין האפליקציה (הלקוח) שמבצעת את הבקשה. כדי להפעיל TLS דו-כיווני, צריך להגדיר מאגר אישורים ב-Edge שמכיל את האישור מלקוח ה-TLS. | false | לא | ||||||||||||
| KeyStore |
השם של מאגר המפתחות ב-Edge. מומלץ להשתמש בהפניה כדי לציין את שם מאגר המפתחות, כדי שאפשר יהיה לשנות את מאגר המפתחות בלי להפעיל מחדש את נתבי ה-Router. אפשר לקרוא מידע נוסף במאמר אפשרויות להגדרת TLS. |
ללא | כן אם הערך של Enabled הוא true | ||||||||||||
| KeyAlias | הכינוי שצוין כשמעלים את האישור ואת המפתח הפרטי למאגר המפתחות. אתם צריכים לציין את שם הכינוי בדיוק כמו שהוא, ולא תוכלו להשתמש בהפניה. במאמר אפשרויות להגדרת TLS יש מידע נוסף. | ללא | כן אם הערך של Enabled הוא true | ||||||||||||
| TrustStore |
השם של מאגר האישורים ב-Edge שמכיל את האישור או את שרשרת האישורים שמשמשים ל-TLS דו-כיווני. חובה אם הערך של Apigee ממליצה להשתמש בהפניה כדי לציין את שם מאגר האישורים, כדי שתוכלו לשנות את מאגר האישורים בלי להפעיל מחדש את נתבי ה-Router. אפשר לקרוא מידע נוסף במאמר אפשרויות להגדרת TLS. |
ללא | לא | ||||||||||||
| IgnoreValidationErrors |
אם הערך הוא True, המערכת מתעלמת משגיאות באישור TLS. האפשרות הזו דומה לאפשרות -k ב-cURL. האפשרות הזו תקפה כשמגדירים TLS לשרתי יעד ולנקודות קצה של יעד, וכשמגדירים מארחים וירטואליים שמשתמשים ב-TLS דו-כיווני. כשמשתמשים ב-SNI עם נקודת קצה או שרת יעד, אם מערכת ה-Backend משתמשת ב-SNI ומחזירה אישור עם שם נושא ייחודי (DN) שלא תואם לשם המארח, אין אפשרות להתעלם מהשגיאה והחיבור נכשל. |
false | לא | ||||||||||||
| הצפנות |
ל-Edge for Private Cloud בגרסה 4.15.07 ומגרסאות קודמות בלבד. מציינת את הצפנים שנתמכים על ידי המארח הווירטואלי. אם לא מציינים צפנים, כל הצפנים שזמינים ל-JVM יהיו מותרים. כדי להגביל את הצפנים, מוסיפים את הרכיבים הבאים: <Ciphers> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher> </Ciphers> |
כל מה שנתמך על ידי JVM | לא | ||||||||||||
| פרוטוקולים |
ל-Edge for Private Cloud בגרסה 4.15.07 ומגרסאות קודמות בלבד. מציינת את הפרוטוקולים שנתמכים על ידי המארח הווירטואלי. אם לא מציינים פרוטוקולים, אז כל הפרוטוקולים שזמינים ל-JVM יהיו מותרים. כדי להגביל פרוטוקולים, מוסיפים את הרכיבים הבאים: <Protocols> <Protocol>TLSv1</Protocol> <Protocol>TLSv1.2</Protocol> <Protocol>SSLv2Hello</Protocol> </Protocols> |
כל מה שנתמך על ידי JVM | לא | ||||||||||||
| UseBuiltInFreeTrialCert | זמין רק ב-Edge Cloud. | ||||||||||||||
| UseBuiltInFreeTrialCert |
אם יש לכם חשבון בתשלום ב-Edge for Cloud ועדיין אין לכם אישור ומפתח TLS, אתם יכולים ליצור מארח וירטואלי שמשתמש באישור ובמפתח של תקופת הניסיון בחינם של Apigee. כלומר, אפשר ליצור את המארח הווירטואלי בלי ליצור קודם מאגר מפתחות. אישור תקופת הניסיון בחינם של Apigee מוגדר לדומיין אפשר לעיין במאמר הגדרת מארח וירטואלי שמשתמש במפתח ובאישור של תקופת הניסיון בחינם של Apigee. |
false | לא | ||||||||||||
| PropagateTLSInformation | זמין בגרסת אלפא רק ל-Edge Cloud. | ||||||||||||||
| ConnectionProperties |
מאפשרת ל-Edge לתעד את פרטי החיבור של TLS. אחר כך המידע הזה זמין כמשתני זרימה ב-proxy ל-API. מידע נוסף זמין במאמר גישה לפרטי חיבור TLS ב-proxy ל-API. |
false | לא | ||||||||||||
| ClientProperties |
ההגדרה מאפשרת ל-Edge לתעד פרטים של אישורי לקוח ב-TLS דו-כיווני. אחר כך המידע הזה זמין כמשתני זרימה ב-proxy ל-API. מידע נוסף זמין במאמר גישה לפרטי חיבור TLS ב-proxy ל-API. |
false | לא | ||||||||||||
| נכסים | זמין ל-Edge Cloud ול-Private Cloud מגרסה 4.17.01 ואילך. | ||||||||||||||
| proxy_read_timeout |
מגדיר את משך הזמן הקצוב לתפוגה, בשניות, בין מעבדי ההודעות לבין נתב ההודעות. אם לא מתקבלת תגובה ממעבד ההודעות לפני שמשך הזמן הזה מסתיים, הנתב מפיל את החיבור ומחזיר תגובת HTTP 504. הערך של proxy_read_timeout צריך להיות גדול מערך הזמן הקצוב לתפוגה של היעד שבו נעשה שימוש
במעבד ההודעות. כך אפשר לוודא שהנתב לא יגיע לזמן קצוב לתפוגה לפני שמעבד הבקשות יספיק להחזיר תגובה. הזמן הקצוב לתפוגה שמוגדר כברירת מחדל ליעד של Message Processor הוא 55 שניות, 55,000 אלפיות השנייה, כפי שמוגדר על ידי טוקן |
57 | לא | ||||||||||||
| keepalive_timeout |
מגדיר את משך הזמן הקצוב לתפוגה, בשניות, בין הלקוח לבין הנתב כשהלקוח מבצע בקשה שמכילה את הכותרת Keep-Alive. הנתב משאיר את החיבור פתוח עד שתוקף החיבור יפוג. הנתב לא יסגור את החיבור אם הוא ממתין כרגע לתגובה ממעבד ההודעות. הטיימאוט מתחיל רק אחרי שהנתב מחזיר את התגובה ללקוח. |
65 | לא | ||||||||||||
| ssl_ciphers |
מגדירה את הצפנים שנתמכים על ידי המארח הווירטואלי, ומבטלת את ברירת המחדל של הצפנים שהוגדרו בנתב. מציינים רשימה של צפנים שמופרדים באמצעות נקודתיים, בפורמט הבא: <Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property> מידע על התחביר והערכים שמותרים בטוקן הזה זמין בכתובת https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. שימו לב שהאסימון הזה משתמש בשמות הצפנה של OpenSSL, כמו AES128-SHA256, ולא בשמות הצפנה של Java/JSSE, כמו TLS_RSA_WITH_AES_128_CBC_SHA256. |
HIGH:!aNULL:
!MD5: !DH+3DES: !kEDH |
לא | ||||||||||||
| ssl_protocols |
זמין רק ב-Edge for Private Cloud. המדיניות מגדירה את פרוטוקולי ה-TLS שנתמכים על ידי המארח הווירטואלי, כרשימה מופרדת ברווחים, ומבטלת את פרוטוקולי ברירת המחדל שהוגדרו בנתב. הערה: אם שני מארחים וירטואליים חולקים את אותו פורט, הם צריכים להגדיר את מציינים רשימה של פרוטוקולי TLS שמופרדים ברווחים, באופן הבא: <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1 TLSv1.1 TLSv1.2 | לא | ||||||||||||
| proxy_request_buffering |
הגדרה להפעלה (on) או להשבתה (off) של שמירת נתוני הבקשה במאגר זמני. כשהאפשרות 'הוספה למאגר' מופעלת, הנתב מוסיף את כל גוף הבקשה למאגר לפני שהוא שולח אותו למעבד ההודעות. אם יש שגיאה, נתב יכול לנסות שוב מעבד הודעות אחר. אם ההגדרה מושבתת, המערכת לא תאגור את הבקשה בזיכרון הזמני, והגוף של הבקשה יישלח למעבד ההודעות מיד כשהוא יתקבל. אם יש שגיאה, הנתב לא מנסה שוב לשלוח את הבקשה למעבד הודעות אחר. |
מופעל | לא | ||||||||||||
| proxy_buffering | הגדרה שמאפשרת (on) או משביתה (off) את השמירה בזיכרון של התשובה. כשהמאגר מופעל, הנתב מאחסן את התגובה במאגר. כשהחציצה מושבתת, התגובה מועברת ללקוח באופן סינכרוני, מיד כשהיא מתקבלת בנתב. | מופעל | לא | ||||||||||||