אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X. info
גרסה 3.3.x
תיקוני באגים ושיפורים בגרסה 3.3.x
3.3.5
ביום שישי, 20 בדצמבר 2024, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.3.5. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן יכול להיות שמספרי הגרסאות לא יהיו זהים לגרסה הראשית של המוצר:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.3.5 | 3.3.5 | 3.3.5 | 3.3.5 | 3.2.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
383024578 | תכונה |
הוספנו תמיכה בגרסה 22 של Node.js והסרנו את התמיכה בגרסה 16. אם אתם משתמשים ב-Node.js v18, הודעת השגיאה הבאה תודפס ב-Edge Microgateway בזמן ההפעלה: current nodejs version is 18.x.x Note, v18.x.x will be out of support soon, see https://docs.apigee.com/release/notes/edge-microgateway-release-notes-0 אם אתם משתמשים בגרסה קודמת של Node.js, תוצג הודעת השגיאה הבאה: You are using a version of NodeJS that is not supported |
תוקנו בעיות אבטחה
- CVE-2024-21538
- CVE-2024-45590
- CVE-2019-3844
- CVE-2019-12290
- CVE-2020-1751
- CVE-2018-12886
- CVE-2023-50387
- CVE-2019-3843
- CVE-2022-4415
- CVE-2021-3997
תיקוני באגים ושיפורים בגרסה 3.3.x
3.3.4
ב-18 בספטמבר 2024 השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.3.4. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.3.4 | 3.3.4 | 3.3.4 | 3.3.4 | 3.2.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
675987751 | חרק |
תוקנה בעיה שבה Edge Microgateway לא תיעד ביומן כתובות IP של לקוחות. |
תוקנו בעיות אבטחה
- CVE-2021-23337
- CVE-2024-4068
- CVE-2020-28469
- CVE-2020-28503
3.3.3
ב-25 באפריל 2024 השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.3.3. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.3.3 | 3.3.3 | 3.3.3 | 3.3.3 | 3.2.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
315939218 | הוסר |
הפלאגין של לקוח Eureka הוסר מ-Edge Microgateway. ההסרה של התכונה הזו לא משפיעה על הפונקציונליות העיקרית של Edge Microgateway או על כתיבת מחדש של כתובות URL של יעד. פרטים נוספים זמינים במאמר כתיבת מחדש של כתובות URL של יעד בפלאגינים. |
283947053 | הוסר |
התמיכה ב- |
תוקנו בעיות אבטחה
- CVE-2023-0842
- CVE-2023-26115
- CVE-2022-25883
- CVE-2017-20162
- CVE-2022-31129
- CVE-2022-23539
- CVE-2022-23541
- CVE-2022-23540
- CVE-2024-21484
- CVE-2022-46175
- CVE-2023-45133
- CVE-2020-15366
- CVE-2023-26136
- CVE-2023-26115
3.3.2
ב-18 באוגוסט 2023 השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.3.2. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.3.2 | 3.3.2 | 3.3.2 | 3.3.2 | 3.2.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
296187679 | תכונה |
גרסאות Node.js נתמכות: 16, 18 ו-20. החל מגרסה 3.3.2, פקודות ה-CLI של Edge Microgateway יפעלו רק בגרסאות הנתמכות. הפעלת פקודות CLI בגרסאות שלא נתמכות תוביל לשגיאה. אפשר לעיין גם במאמר תוכנות וגרסאות נתמכות ב-Apigee. |
283947053 | חרק |
תוקנה בעיה שבה Edge Microgateway החזיר את מוצר ה-API הראשון ברשימת מוצרי ה-API המשויכים לאפליקציה. עכשיו אנחנו קובעים את מוצר ה-API הנכון להחזרה על סמך הבקשה. |
274443329 | חרק |
תוקנה בעיה שבה Docker מושך גרסה מיושנת של קובץ אימג'.
גרסת הצומת של Docker עודכנה ל-Node.js בגרסה 18. עכשיו אנחנו יוצרים את קובץ האימג' של Docker בגרסה |
תוקנו בעיות אבטחה
ללא.
3.3.1
ב-7 ביוני 2022 השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.3.1. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.3.1 | 3.3.1 | 3.3.1 | 3.3.1 | 3.2.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
220885293 | תכונה |
עכשיו יש תמיכה ב-Node.js בגרסה 16. |
231972608 | חרק |
תוקנה בעיה שבה הפקודה |
233315475 | חרק |
תוקנה בעיה שבה הפלאגין |
221432797 | שינוי |
גרסה Docker Node.js של קובץ האימג' הבסיסי של Edge Microgateway שודרגה ל-Node.js 14. |
215748732 | תכונה |
נוספה תמיכה באימות של אסימוני SAML לפקודה revokekeys.
עכשיו אפשר להעביר אסימון SAML במקום פרטי כניסה של שם משתמש וסיסמה באמצעות האפשרות פרטים נוספים זמינים בחומר העזר בנושא שורת הפקודה. |
218723889 | עדכון מסמך |
המסמכים עודכנו כך שיכללו קישור ל-plug-ins הנתמכים של Edge Microgateway ששמורים ב-GitHub. יישומי פלאגין קיימים שכלולים ב-Edge Microgateway |
תוקנו בעיות אבטחה
מזהה הבעיה | תיאור |
---|---|
CVE-2021-23413 | הבעיה הזו משפיעה על החבילה jszip בגרסאות קודמות ל-3.7.0. יצירת קובץ zip חדש עם שמות של קובצי קבצים שמוגדרים לערכי אב טיפוס של אובייקטים (למשל proto, toString וכו') מובילה להחזרת אובייקט עם מופע אב טיפוס שעבר שינוי. |
3.3.0
ב-4 בפברואר 2022 השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.3.0. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.3.0 | 3.3.0 | 3.3.0 | 3.3.0 | 3.2.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
219556824 | בעיה ידועה | גרסת Edge Microgateway Gateway 3.3.0 לא תואמת לפקודה npm audit fix.
הפעלת
אם מריצים את
כדי לפתור את הבעיה, מריצים את הפקודה הבאה כדי לשחזר את הגרסה הנכונה של npm install apigeetool@0.15.1 הבעיה הזו תטופל בגרסה עתידית של Edge Microgateway. |
138622990 | תכונה |
דגל חדש לפלאגין המכסות, |
192534424 | חרק |
תוקנה בעיה שבה קוד התגובה שמוצג בניתוח הנתונים של Apigee לא תואם לקוד התגובה של Edge Microgateway. |
198986036 | שיפור | Edge Microgateway מאחזר עכשיו את המפתח הציבורי של ספק זהויות (IdP) בכל מרווח הזמן של הסקרים, ומעדכן את המפתח גם אם המפתח הציבורי של ה-IdP משתנה.
בעבר, הפלאגין extauth לא היה מסוגל לעדכן את המפתח הציבורי בלי לטעון מחדש את Edge Microgateway אם המפתח הציבורי של ה-IDP השתנה.
|
168713541 | חרק |
התיעוד שופץ כדי להסביר איך להגדיר TLS/SSL למספר יעדים. שימוש באפשרויות SSL/TLS של לקוח |
171538483 | חרק |
המסמכים שונו כדי לתקן את נוהל השמות של קובצי היומנים. מוסכמות למתן שמות לקובצי יומנים |
157908466 | חרק |
שינינו את המסמכים כדי להסביר בצורה נכונה איך להתקין גרסה ספציפית של Edge Microgateway. שדרוג של Edge Microgateway אם יש חיבור לאינטרנט |
215748427 | חרק | תוקנה בעיה שבה הפקודה revokekeys החזירה שגיאה כשביטלו מפתח באמצעות מפתח קיים וזוג סודות. |
205524197 | חרק | המסמכים עודכנו כך שיכללו את הרשימה המלאה של רמות הרישום ביומן. אפשר לעיין במאמרים מאפייני edgemicro ואיך מגדירים את רמת הרישום ביומן. |
גרסה 3.2.x
תיקוני באגים ושיפורים בגרסה 3.2.x
3.2.3
ב-17 בספטמבר 2021 השקנו את התיקונים והשיפורים הבאים ל-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים שמשויכים ל-Edge Microgateway 3.2.3. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.2.3 | 3.2.3 | 3.2.3 | 3.2.3 | 3.2.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
192416584 | תכונה |
מאפיין התצורה |
192799989 | תכונה |
מאפיין התצורה |
148062415 | חרק | תוקנה בעיה שבה בהקשר של קונטיינר Docker, Edge Microgateway לא נסגר בצורה תקינה באמצעות הפקודה docker stop {containerId} . התהליך הושבת, אבל הקבצים .sock ו-.pid לא הוסרו. עכשיו הקבצים הוסרו והפעלה מחדש של אותו מאגר פועלת כמצופה.
|
190715670 | חרק | תוקנה בעיה שבה בקשות מסוימות נתקעו במהלך הפעילות הפנימית של טעינת מחדש של המיקרו-שער. הבעיה הזו הייתה לסירוגין והתרחשה במצבים של עומס תנועה גבוה.
הבעיה זוהתה כשנעשה שימוש בתכונות tokenCache ו-cacheKey של הפלאגין של OAuth.
|
183910111 | חרק | תוקנה בעיה שבה כתובת URL של נתיב משאב עם קו נטוי בסוף הופיעה כנתיב משאב נפרד. עכשיו, לדוגמה, הנתיבים /country/all ו-/country/all/ מפורשים כאותו נתיב. |
תוקנו בעיות אבטחה
מזהה הבעיה | תיאור |
---|---|
CVE-2020-28503 | נכסי ה-copy-props של החבילה בגרסאות קודמות ל-2.0.5 חשופים לזיהום של אב טיפוס דרך הפונקציונליות הראשית. |
CVE-2021-23343 | כל הגרסאות של package path-parse חשופות להתקפת מניעת שירות (ReDoS) באמצעות ביטויים רגולריים של splitDeviceRe, splitTailRe ו-splitPathRe. ל-ReDoS יש מורכבות זמן פולינומית במקרה הגרוע ביותר. |
3.2.2
ביום חמישי, 15 ביולי 2021, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.2.2. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.2.2 | 3.2.2 | 3.2.2 | 3.2.2 | 3.2.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
185323500 | שינוי |
הערך של
ממשקי ה-API של בקשת הטוקן ושל בקשת הטוקן לרענון מחזירים עכשיו את הערך
כדי לעמוד בדרישות של
RFC 6749 OAuth 2.0 Authorization Framework
הועברו את הערך הצפוי של פרמטר ההגדרה |
188492065 | שינוי |
סיום התמיכה ב-Node.js 8
החל מהגרסה 3.2.2, לא תהיה יותר תמיכה ב-Node.js 8. למידע נוסף, ראו תוכנות וגרסאות נתמכות: Edge Microgateway. |
183990345 | תכונה |
הגדרת פלט יומן לקונטיינר Docker
פרמטר התצורה to_console ב-Edge Microgateway מאפשר לבחור אם לשלוח את נתוני היומן לפלט הרגיל במקום לקובץ יומן. אם פועלים לפי השלבים להרצת Edge Microgateway בקונטיינר ב-Docker, כברירת מחדל המערכת מפנה את הפלט של stdout ואת הפלט של השגיאות לקובץ שנמצא בקונטיינר במיקום:
כדי למנוע שליחת פרטי יומן אל לפרטים על השימוש במשתנה החדש הזה, ראו שימוש ב-Docker ל-Edge Microgateway. |
183057665 | תכונה |
אפשר להגדיר את נתיבי הקבצים edgemicro.pid ו-edgemicro.sock .
הפרמטר החדש |
191352643 | תכונה | קובץ האימג' של Docker ל-Edge Microgateway עודכן לשימוש ב-NodeJS בגרסה 12.22. שימוש ב-Docker ל-Edge Microgateway |
תוקנו בעיות אבטחה
מזהה הבעיה | תיאור |
---|---|
CVE-2021-28860 | ב-mixme של Node.js, לפני גרסה 0.5.1, תוקף יכול להוסיף או לשנות מאפיינים של אובייקט באמצעות '__proto__' דרך הפונקציות mutate() ו-merge(). המאפיין המזוהם יוקצה ישירות לכל אובייקט בתוכנית. הדבר עלול להוביל להתקפת מניעת שירות (DoS) ולפגוע בזמינות של התוכנית. |
CVE-2021-30246 | בחבילת jsrsasign עד גרסה 10.1.13 ל-Node.js, חלק מהחתימות הלא תקינות של RSA PKCS#1 v1.5 מזוהות בטעות כתקינות. הערה: לא ידועה התקפה מעשית. |
CVE-2021-23358 | החבילה underscore בגרסאות 1.13.0-0 עד 1.13.0-2, 1.3.2 עד 1.12.1 חשופה להזרקת קוד שרירותי דרך פונקציית התבנית, במיוחד כאשר מאפיין משתנה מועבר כארגומנטים כי הוא לא עובר טיהור. |
CVE-2021-29469 | Node-redis הוא לקוח Redis של Node.js. לפני גרסה 3.1.1, כשלקוח נמצא במצב מעקב, ביטוי ה-regex שמשמש לזיהוי הודעות מעקב עלול לגרום להשהיה מעריכית לפני ניסיון חוזר (exponential backoff) במחרוזות מסוימות. הדבר עלול להוביל להתקפת מניעת שירות (DoS). הבעיה תוקנה בגרסה 3.1.1. |
CVE-2020-8174 | קובץ האימג' של Docker עודכן כך שישתמש ב-Node.js בגרסה 12.22 |
3.2.1
ביום שישי, 5 במרץ 2021, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים שמשויכים ל-Edge Microgateway 3.2.1. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.2.1 | 3.2.1 | 3.2.1 | 3.2.1 | 3.2.1 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
180362102 | חרק |
תוקנה בעיה שבה מפתחות JWK עם ערך null גרמו לכשל באפליקציות.
עכשיו התנאי null מטופל כדי למנוע העברה של ערך null ב- הערה: כדי לבצע את התיקון הזה, צריך לשדרג את שרת ה-proxy edgemicro-auth. |
179971737 | חרק |
תוקנה בעיה שבה תגובות סטטוס יעד מסוג 4XX או 5XX נרשמו ביומן כשגיאות שרת proxy עבור שרתים מסוג edgemicro_*.
בטרנזקציות של Edge Microgateway, מספרי השגיאות של היעד הוצגו באופן שגוי בלוח הבקרה של ניתוח נתוני קודי השגיאה ב-Apigee Edge. קודי שגיאה של שגיאות יעד נספרים כשגיאות שרת proxy. הבעיה תוקנה ועכשיו מוצגים מספרי השגיאות הנכונים של היעד. |
179674670 | תכונה |
נוספה תכונה חדשה שמאפשרת לסנן את רשימת מוצרי ה-API שמוטמעים ב-JWT על סמך קודי סטטוס המוצר.
למוצרי API יש שלושה קודי סטטוס: 'בהמתנה', 'אושר' ו'בוטל'.
נכס חדש בשם
|
178423436 | חרק |
ערכים של מפתחות וסודות שמועברים ב-CLI או דרך משתני סביבה גלויים בארגומנטים של שורת הפקודה של Process Explorer.
דווח על בעיה שבה המפתח והערכים הסודיים של Edge Microgateway, שהועברו מארגומנטים של שורת הפקודה או הוגדרו באמצעות משתני סביבה, הוצגו בארגומנטים של תהליכי צאצאים/עובדים של צמתים אחרי הפעלת המיקרו-שער. כדי לפתור את הבעיה בתרחיש של משתנה הסביבה, הערכים כבר לא גלויים בארגומנטים של שורת הפקודה של Process Explorer. אם הערכים של המפתח והסוד מועברים בשורת הפקודה בזמן הפעלת המיקרו-שער, ההגדרות מחליפות את הערכים של משתני הסביבה, אם הם מוגדרים. במקרה כזה, הערכים עדיין גלויים בארגומנטים של שורת הפקודה של Process Explorer. |
178341593 | חרק |
תוקנה שגיאה במסמכי התיעוד של הפלאגין apikeys.
קובץ ה-README של הפלאגין apikeys כלל באופן שגוי מאפיין
המאפיין |
179366445 | חרק |
טופלה בעיה שבה עומס העבודה (payload) לא הועבר בכל בקשות ה-GET ליעד.
אפשר לשלוט בהתנהגות הרצויה באמצעות פרמטר תצורה חדש, לדוגמה: edgemicro: enable_GET_req_body: true בהתאם ל-RFC 7231, סעיף 4.3.1: GET, למטען הייעודי של בקשת GET אין סמנטיקה מוגדרת, ולכן אפשר לשלוח אותו ליעד. |
3.2.0
ביום חמישי, 21 בינואר 2021, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים שמשויכים ל-Edge Microgateway 3.2.0. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.2.0 | 3.2.0 | 3.2.0 | 3.2.0 | 3.2.0 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
152640618 | חרק | הפעלתם את הפלאגין extauth כדי להגדיר שהכותרת x-api-key תכיל את client_id באובייקט הבקשה כשהאסימון תקף. לאחר מכן, ה-x-api-key יהיה זמין ל-plug-ins הבאים.
|
168836123, 172295489, 176462355, 176462872 | תכונה | נוספה תמיכה ב-Node.js 14. |
172376835 | חרק | משתמשים ביחידת הזמן הנכונה לנקודת הקצה /token בשרת proxy edgemicro-auth .
תוקנה בעיה שבה נקודת הקצה
התיקון לא משנה את משך זמן התפוגה, אלא רק את יחידת הזמן. היא חלה רק על השדה אם לקוחות הסתמכו על הערך של אם לקוחות תמיד השתמשו בערכים באסימון JWT כדי להעריך את תקופת הרענון של האסימון, לא צריך לשנות את הלקוחות. |
173064680 | חרק | תוקנה בעיה שבה המיקרו-שער סיים את בקשת היעד לפני שכל קטעי הנתונים עברו עיבוד.
זוהי בעיה זמנית שנצפתה בבקשות עם עומס נתונים גבוה, והיא נכנסה לתוקף בגרסה 3.1.7. |
174640712 | חרק | הוספת טיפול נכון בנתונים לפלאגינים
נוספה טיפול נכון בנתונים לפלאגינים הבאים: |
גרסה 3.1.x
תיקוני באגים ושיפורים בגרסה 3.1.x
3.1.8
ביום שני, 16 בנובמבר 2020, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.1.8. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.1.8 | 3.1.9 | 3.1.7 | 3.1.3 | 3.1.2 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
169201295 | חרק | ערכים מספריים ובוליאניים נותחו בצורה שגויה בתגי משתני הסביבה.
הטיפול בהחלפת משתני הסביבה ניתח את כל הערכים בתור מחרוזות, וכתוצאה מכך נוצרו שגיאות ניתוח בערכים בוליאניים או מספריים. לדוגמה, הפרמטר |
169202749 | חרק | החלפת משתני סביבה לא פעלה במקרים מסוימים.
הטיפול בהחלפת משתני סביבה לא עבד במאפייני תצורה מסוימים. מידע על המגבלות זמין במאמר הגדרת מאפייני תצורה באמצעות ערכים של משתני סביבה. |
168732942 | חרק | תוקנה בעיה שבה היקפי OAuth לא הגבילו את הגישה של שרת proxy ל-API כצפוי.
תהליך |
170609716 | חרק | תוקנה בעיה שבה תהליך /refresh בשרת ה-proxy של edgemicro-auth יצר JWT ללא apiProductList .
|
170708611 | חרק | היקפי מוצרים של API לא זמינים לפלאגינים מותאמים אישית.
היקפי המוצרים של ה-API לא היו זמינים לפלאגינים מותאמים אישית, ולא נכתבו בקובץ התצורה של המטמון. במאמר מידע על הפונקציה init() של הפלאגין מוסבר איך מאפשרים לפלאגינים לגשת לפרטים ברמת ההיקף. |
169810710 | תכונה | המפתח והסוד נשמרים בקובץ התצורה של המטמון.
המפתח והסוד של Edge Microgateway נשמרו בקובץ ה-YAML של תצורת המטמון בכל הפעלה מחדש או טעינה מחדש. בגרסה 3.1.8, המפתח והסוד כבר לא נשמרים בקובץ התצורה של המטמון. אם המפתח והסוד נכתבו בעבר בקובץ התצורה של המטמון, הם יוסרו. |
170708621 | תכונה | לא ניתן להשבית את פלאגין Analytics.
בגרסאות קודמות של המיקרו-שער, הפלאגין של Analytics הופעל כברירת מחדל ולא הייתה אפשרות להשבית אותו. בגרסה 3.1.8 הוספנו פרמטר תצורה חדש, |
159571119 | חרק | מתקבלת שגיאת null ב-hook של onerror_request בפלאגינים מותאמים אישית לתפוגת הזמן של התגובה/השקע.
בוצעו תיקונים כדי לאכלס את קוד הסטטוס והודעת השגיאה הנכונים של HTTP באירועים מסוג |
3.1.7
ביום חמישי, 24 בספטמבר 2020, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.1.7. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.1.7 | 3.1.8 | 3.1.6 | 3.1.2 | 3.1.1 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
131708105 | חרק | הפלאגין analytics טיפל בצורה שגויה בתשובה null מהקריאות axpublisher וגרם ליציאה של עובדים.
|
133162200 | חרק | פרטי האפליקציה של המפתח לא אוכלסו ב-Analytics בתשובות עם סטטוס 403 שנגרמו מנתיבי משאבים לא מורשים של מוצרים, או בתשובות עם סטטוס 401 שנגרמו מאסימון שפג תוקפו או מאסימון לא חוקי.
|
132194290 | חרק | רשומות Analytics נמחקות כש-Apigee Edge דוחה רשומות ניתוח נתונים מסוימות.
|
158618994 | חרק | חיבורים רבים מדי של לקוחות Redis
|
161404373 | חרק | במקרה של תגובת סטטוס 404, מזהה ה-URI המלא של שרת ה-proxy נכלל בהודעת התשובה. |
166356972 | חרק | הפעלת Edge Microgateway עם Node.js בגרסה 12.13.x ואילך הביאה לשגיאה הבאה בזמן הפעלת יישומי פלאגין שמבצעים טרנספורמציה של המטען הייעודי (payload) של הבקשה: {"message":"write after end","code":"ERR_STREAM_WRITE_AFTER_END"}
|
168681746 | חרק | טעינה מחדש ידנית של Edge Microgateway באמצעות redisBasedConfigCache:true לא פעלה.
|
149256174 | חרק | שגיאות בפלאגין OAuth לא תועדו כשהיו כשלים ברשת.
|
166517190 | חרק | נתוני jwk_public_keys לא נשמרו ולא אוחזר על ידי Synchronizer ונשמרו ב-Redis.
|
141659881 | חרק | טיפול בשגיאות באישור יעד לא תקין הראה תשובות שגויות לשגיאות.
|
142808699 | חרק | הפלאגין של accesscontrol לא טיפל בקטעים 'allow' ו-'deny' בצורה נכונה.
עכשיו, המיקרו-שער מעבד את הקטע 'דחייה' בצורה תקינה ופועל בהתאם לסדר של הקטעים 'הרשאה' ו'דחייה'. נכס |
3.1.6
ביום חמישי, 20 באוגוסט 2020, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.1.6. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.1.6 | 3.1.7 | 3.1.5 | 3.1.1 | 3.1.1 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
163711992 | תכונה | אפשרויות מותאמות אישית למיקום של קובץ המפתח והאישור עבור הפקודה rotatekey.
פרטים על האפשרויות החדשות האלה מפורטות במאמר רוטציה של מפתחות. |
||||||||||||
154838259 | חרק | תיקון רוטציית מפתחות במספר מכונות במספר מרכזי נתונים
פרטים על האפשרויות החדשות האלה מפורטות במאמר רוטציה של מפתחות. |
||||||||||||
145525133 | פיצ'ר בגרסת אלפא | מדדים חדשים של פלאגינים
פרטים נוספים זמינים בקובץ ה-README של מדדים חדשים של יישומי פלאגין ב-GitHub. |
||||||||||||
159396879 | חרק | הסרת Helper של חבילה שלא בשימוש | ||||||||||||
161092943 | חרק | Base path validation was incorrect
לפני גרסה 3.1.6, המערכת לא התאימה בצורה נכונה את נתיב הבסיס של שרת ה-proxy כשנתיב הבסיס לא הסתיים ב- בהמשך מוסבר בהרחבה על ההתנהגות הקודמת (שטופל בגרסת 3.1.6):
נניח ששרת proxy מוגדר עם נתיב הבסיס:
|
||||||||||||
160431789 | חרק | פלאגינים מותאמים אישית – אובייקט התצורה שהוענק ל-init לא מאוכלס
ההגדרות של Apigee Edge זמינות באובייקט התצורה לכל הפלאגינים בהתאמה אישית אחרי המיזוג עם קובץ התצורה של Edge Microgateway. מידע נוסף זמין במאמר config. |
||||||||||||
162758808 | חרק | הגדרת מכסה חדשה למאגר התמיכה של Redis
אפשר להשתמש בתצורה הבאה כדי לציין מאגר תמיכה של Redis למכסות. פרטים נוספים זמינים במאמר שימוש במאגר תמיכה של Redis למכסות. |
3.1.5
ביום שישי, 26 ביוני 2020, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.1.5. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.1.5 | 3.1.6 | 3.1.4 | 3.1.0 | 3.1.0 |
תיקוני באגים ושיפורים:
מזהה הבעיה | סוג | תיאור |
---|---|---|
159210507 | תכונה | הגדרה להחרגת עיבוד של יישומי פלאגין
נוספה תכונת הגדרה חדשה כדי לדלג על העיבוד של יישומי פלאגין בכתובות URL מסוימות. פרטים נוספים זמינים במאמר הגדרת כתובות URL להחרגה עבור יישומי פלאגין. |
156986819, 158529319 | חרק | תוקנו בעיות בפלאגין json2xml
תוקנו בעיות שבהן הפלאגין יצר כותרות כפולות של Content-Type, ובמקרים מסוימים כותרות לא נשלחו ליעד כמצופה. |
156560067, 159688634 | תכונה | שימוש בערכי משתני סביבה בתצורה הוספנו תכונה שמאפשרת לציין משתני סביבה באמצעות תגים בקובץ התצורה. התגים של משתני הסביבה שצוינו מוחלפים בערכים בפועל של משתני הסביבה. החלפות נשמרות בזיכרון בלבד ולא נשמרות בקובצי התצורה או בקובצי המטמון המקוריים. פרטים נוספים זמינים במאמר הגדרת מאפייני תצורה באמצעות ערכים של משתני סביבה. |
155077210 | חרק | תוקנה בעיה בפורמט היומן.
תוקנה בעיה שבה מארח היעד הופיע ביומני אירועים עם נקודתיים מיותרות שמצורפות אליו. |
153673257 | חרק | (Edge for Private Cloud בלבד) מוצרים שתומכים ב-Microgateway לא נשלפים תוקנה בעיה שבה מוצרים שתומכים ב-microgateway לא נשלפו. הבעיה הזו הייתה קיימת רק בהתקנות של Edge for Private Cloud. |
154956890, 155008028, 155829434 | תכונה | תמיכה בסינון מוצרים שהורדתם לפי מאפיינים מותאמים אישית
פרטים נוספים זמינים במאמר סינון מוצרים לפי מאפיינים מותאמים אישית |
153949764 | חרק | תוקנה בעיה שבה תהליך Edge Microgateway קרס כשקובץ היעד של היומן היה מלא
טיפול בחריגים השתפר כדי לתפוס את השגיאה ולהדפיס הודעה במסוף. |
155499600 | חרק | הבעיות ברוטציית המפתחות ובשדרוג של KVM תוקנו
אפשר לעיין גם במאמר רוטציית מפתחות JWT. |
3.1.4
ביום שישי, 23 באפריל 2020, השקנו את התיקון הבא ל-Edge Microgateway.
תיקון באג:
תוקנה בעיית תלות בגרסה 3.1.3. הגרסה 3.1.3 סומנה כלא נתמכת במאגר ה-npm. אחרת, כל תיקוני הבאגים והשיפורים שמפורטים בנתוני הגרסה של גרסה 3.1.3 רלוונטיים לגרסה הזו.
3.1.3
ביום רביעי, 15 באפריל 2020, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.1.3. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.1.3 | 3.1.3 | 3.1.3 | 3.0.14 | 3.0.9 |
תיקוני באגים ושיפורים:
- 153509313 – תוקנה בעיה שבה מודול ניפוי הבאגים של Node.js גורם לדליפות זיכרון. הבעיה קיימת בגרסאות v3.1.0, v3.1.1 ו-3.1.2.
- 153509313 – תוקנה בעיה שבה אותו מזהה הודעה של שתי עסקאות שונות הודפס בפלט הרישום ביומן.
- 151673570 – תוקנה בעיה שבה Edge Microgateway לא עודכן לשימוש בממשקי ה-API החדשים של Apigee KVM. Edge Microgateway משתמש עכשיו בפקודות החדשות להוספה ולעדכון של ערכי ה-KVM.
- 152822846 – במהדורות קודמות, Edge Microgateway עודכן כך שהעיבוד שלו של מיפוי נתיב המשאבים תואם לזה של Apigee Edge. בגרסה הזו תוקנה בעיה שבה התבנית
/literal_string/*
לא טופלה כראוי. לדוגמה:/*/2/*
. ראו גם הגדרת ההתנהגות של נתיב משאב מסוג '/', '/*' ו-'/**'. - 152005003 – בוצעו שינויים כדי לאפשר שימוש במזהים ברמת הארגון וברמת הסביבה למכסות.
- 152005003 – בוצעו שינויים כדי לאפשר שימוש במזהים ברמת הארגון וברמת הסביבה למכסות. השילוב של 'org + env + appName + productName' משמש כמזהה המכסה.
3.1.2
ביום שני, 16 במרץ 2020, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.1.3. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.1.2 | 3.1.2 | 3.1.2 | 3.0.13 | 3.0.9 |
תיקוני באגים ושיפורים:
- 151285018 – בוצע שיפור בתכונה כדי להוסיף תמיכה בשרת proxy של HTTP לתנועה בין Edge Microgateway לבין יעדים בקצה העורפי. בנוסף, תוקנו בעיות בתמיכה הקיימת בשרת proxy מסוג HTTP בין Edge Microgateway ל-Apigee Edge. פרטים נוספים זמינים במאמר:
- 149101890 – קוד ההתראה ביומן במקרים שבהם שרת היעד או מאזן העומסים סוגר את החיבור שלו השתנה מ-ERROR ל-INFO.
- 150746985 – תוקנה בעיה שבה הפקודה
edgemicro verify
לא פעלה כראוי אםredisBasedConfigCache: true
אוquotaUri: https://%s-%s.apigee.net/edgemicro-auth
היו בקובץ התצורה. - 151284716 – בוצע שיפור כדי לסגור את חיבורי השרת מהר יותר כשהעובדים מופעלים מחדש במהלך טעינת מחדש.
- 151588764 – עדכון הגרסה של Node.js בקובץ האימג' של Docker שמשמש להרצת Edge Microgateway בקונטיינר של Docker לגרסה 12, כי הגרסה Node.js v8 הוצאה משימוש.
- 151306049 – בוצע עדכון במסמכי העזרה, והם כוללים עכשיו רשימה של ממשקי ה-API לניהול של Apigee Edge שבהם נעשה שימוש בפקודות ה-CLI של Edge Microgateway. איזה ממשקי API לניהול משמשים את Edge Microgateway?
3.1.1
ביום חמישי, 20 בפברואר, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים שמשויכים ל-Edge Microgateway 3.1.1. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.1.1 | 3.1.1 | 3.1.1 | 3.0.13 | 3.0.9 |
תיקוני באגים ושיפורים:
-
146069701 – תוקנה בעיה שבה המודול
microgateway-core
לא התייחס למשתני הסביבהHTTP_PROXY
ו-HTTPS_PROXY
. בעקבות השינוי הזה, המערכת מתעלמת עכשיו מהגדרות שרת ה-proxy בקובץ התצורה של ה-YAML, אם הן צוינו. רק משתני הסביבה משמשים לציון שרת ה-proxy.אם רוצים לציין הגדרות proxy בקובץ התצורה, צריך לציין גם משתנה
HTTP_PROXY
שמציין את אותה כתובת URL של שרת ה-proxy שצוינה בקובץ התצורה. לדוגמה, אם מציינים את ההגדרה הבאה:edge_config: proxy: http://10.128.0.20:3128 proxy_tunnel: true
צריך לציין גם את משתנה הסביבה הזה:
HTTP_PROXY=http://10.128.0.20:3128
- 146320620 – נוספה הגדרה חדשה,
edgemicro.headers_timeout
. המאפיין הזה מגביל את משך הזמן (באלפיות שנייה) שבו מנתח ה-HTTP ימתין לקבלת כותרות ה-HTTP המלאות. לדוגמה:edgemicro: keep_alive_timeout: 6000 headers_timeout: 12000
באופן פנימי, הפרמטר מגדיר את המאפיין
Server.headersTimeout
של Node.js בבקשות. (ברירת המחדל: 5 שניות יותר מהזמן שהוגדר באמצעותedgemicro.keep_alive_timeout
. הגדרת ברירת המחדל הזו מונעת ממאזני עומסים או משרתי proxy להפסיק בטעות את החיבור). 149278885 – נוספה תכונה חדשה שמאפשרת להגדיר את הזמן הקצוב לתפוגה של ה-API היעד ברמת שרת ה-proxy של ה-API, במקום להשתמש בהגדרת זמן קצוב לתפוגה אחת ברמת ה-API.
אם מגדירים את המאפיין TargetEndpoint
io.timeout.millis
בשרת ה-proxy של ה-API, Edge Microgateway יוכל לאחזר את המאפיין הזה ולהחיל זמן קצוב לתפוגה ספציפי ליעד של נקודת הקצה. אם לא מחילים את הפרמטר הזה, Edge Microgateway משתמש בזמן הקצוב הגלובלי שצוין באמצעותedgemicro.request_timeout
.
3.1.0
ביום שלישי, 21 בינואר, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.1.0. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.1.0 | 3.1.0 | 3.1.0 | 3.0.12 | 3.0.9 |
תיקוני באגים ושיפורים:
-
144187500 – אירוע חדש ברמת WARN יירשם ביומן כשהדגל
quotas.failOpen
יופעל. הדגל הזה מופעל אם מתרחשת שגיאה בעיבוד המכסות, או אם הבקשה 'החלת מכסה' ל-Edge נכשלת בעדכון של ספירות המכסות מרחוק. במקרה כזה, המכסה תעובד על סמך ספירה מקומית בלבד עד לסנכרון המכסה הבא מרחוק. בעבר, האירוע הזה נרשם ביומן רק כשרמת היומן הוגדרה ל-DEBUG.לדוגמה:
2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][] [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60] [GET][][][][]
- 145023519 – תוקנה בעיה שבה עסקאות חדשות או עסקאות בתהליך הושפעו בכל פעם ש-Edge Microgateway זיהה שינוי בשרת proxy של API. עכשיו, כשמתבצע שינוי בשרת proxy, Edge Microgateway מרענן את המטמון וצמתים של עובדים מופעלים מחדש. השינוי הזה לא משפיע על עסקאות בטיפול ועל קריאות API חדשות שנשלחות ל-microgateway.
- 146378327 – רמת היומן של
sourceRequest
,targetRequest
ו-targetResponse
שונתה לרמה INFO. - 146019878 – תוקנה אי-התאמה בין זמן האחזור שחושב עבור 'ביצועים של שרת proxy ל-API' בניתוח הנתונים של Edge לבין אירועי היומן sourceResponse/targetResponse ב-Edge Microgateway. עכשיו זמן האחזור בניתוח הנתונים של Edge ובאירועים ביומן של Microgateway תואם.
- שינויים הקשורים ללוגיקת ההתאמה לדפוס:
- 147027862 – הפלאגין של OAuth עודכן כדי לתמוך בדפוסי ההתאמה הבאים של נתיב המשאב, כפי שצוין במוצרי ה-API:
/{literal}**
/{literal}*
- כל שילוב של שני הדפוסים שלמעלה
בעקבות השינוי הזה, הפלאגין של Edge Microgateway פועל עכשיו לפי אותו התאמה לדפוס כמו Apigee Edge, כפי שמוסבר במאמר הגדרת ההתנהגות של נתיב משאבים מסוג '/', '/*' ו-'/**'.
- 145644205 – עדכון הלוגיקה של התאמת התבנית של הפלאגין apiKeys כך שתתאים לפלאגין OAuth.
- 147027862 – הפלאגין של OAuth עודכן כדי לתמוך בדפוסי ההתאמה הבאים של נתיב המשאב, כפי שצוין במוצרי ה-API:
- 143488312 – תוקנה בעיה שבה רווחים בתחילת הפרמטר של מזהה הלקוח או בסוף הפרמטר גרמו ליצירה של רשימת המוצרים של JWT ריקה לבקשות של אסימון OAuth ומפתח API.
- 145640807 ו-147579179 – נוספה תכונה חדשה שמאפשרת למכונה מיוחדת של Edge Microgateway שנקראת 'הסנכרון' לאחזר נתוני תצורה מ-Apigee Edge ולכתוב אותם במסד נתונים מקומי של Redis. לאחר מכן אפשר להגדיר מכונות אחרות של מיקרו-שער לקרוא את נתוני ההגדרה שלהן ממסד הנתונים. התכונה הזו מוסיפה רמה של עמידות ל-Edge Microgateway.
הוא מאפשר למכונות של מיקרו-שערות לפעול בלי צורך בתקשורת עם Apigee Edge. למידע נוסף, קראו את המאמר שימוש במסנכרן.
התכונה של הסנכרון נתמכת כרגע ב-Redis 5.0.x.
גרסה 3.0.x
תיקוני באגים ושיפורים בגרסה 3.0.x
3.0.10
ביום שישי, 8 בנובמבר, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים שמשויכים ל-Edge Microgateway 3.0.10. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.0.10 | 3.0.8 | 3.0.8 | 3.0.11 | 3.0.8 |
תיקוני באגים ושיפורים:
-
142677575 – בוצע עדכון תכונה כך שתאימות התבנית של נתיבי המשאבים שמשמשים במוצרי API ל-Edge Microgateway תואמת עכשיו לתאימות התבנית של נתיבי המשאבים שמשמשים ב-Apigee Edge, כפי שמתואר במאמר הגדרת ההתנהגות של נתיב משאב מסוג '/', '/*' ו-'/**'.
הערה: אם אתם משתמשים בתבנית משאבים מורכבת כמו
/*/2/**
, עליכם לוודא ששרת ה-proxyedgemicro_auth
מתווסף למוצר API עצמאי. לאחר מכן, צריך לכלול את המוצר הזה באפליקציית הפיתוח של שרת ה-proxy, כפי שמתואר בצילום המסך הבא:הערה: אין תמיכה בנכס התצורה
features.isSingleForwardSlashBlockingEnabled
, כפי שמתואר בקטע הגדרת ההתנהגות של נתיב משאב מסוג /, /* ו-/**, ב-Edge Microgateway. 143740696 – מבנה התצורה של
quotas
השתנה (ראו גם את הערות המוצר לגרסה 3.0.9). המאפייןquotas
משמש להגדרת הפלאגין של המכסות. השינוי במבנה בוצע כדי לשפר את הבהירות של רכיבי התצורה. כדי להגדיר את הפלאגין של המכסות, משתמשים בתצורת ה-YAML הבאה. שימו לב שמאפיין התצורה נקראquotas
. פרטים על מאפייני ההגדרה שלquotas
מפורטים במאמר אפשרויות הגדרה למכסות.edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - quota quotas: bufferSize: hour: 20000 minute: 500 default: 10000 useDebugMpId: true failOpen: true ...
- 141750056 – נוספה תכונה חדשה שמאפשרת להשתמש ב-Redis בתור מאגר התמיכה של המכסות.
אם הערך של
useRedis
הוא true, המערכת משתמשת במודול volos-quota-redis. כשהערך הוא true, המכסה מוגבלת רק למכונות Edge Microgateway שמתחברות ל-Redis. אם הערך הוא false, המערכת משתמשת במודול volos-quota-apigee כאחסון המשנה, ומונה המכסות הוא גלובלי. פרטים נוספים זמינים במאמר אפשרויות הגדרה למכסות. לדוגמה:edgemicro: ... quotas: useRedis: true redisHost: localhost redisPort: 6379 redisDb: 1
- 140574210 – זמן התפוגה שמוגדר כברירת מחדל לאסימונים שנוצרו על ידי שרת ה-proxy של
edgemicro-auth
השתנה מ-108,000 אלפיות השנייה (1.8 דקות) ל-1,800 שניות (30 דקות). - 143551282 – כדי לתמוך בארגונים שמופעלת בהם תמיכה ב-SAML, הפקודה
edgemicro genkeys
עודכנה כך שתכלול את הפרמטר‑‑token
. הפרמטר הזה מאפשר להשתמש בטוקן OAuth לאימות במקום שם משתמש/סיסמה. פרטים נוספים זמינים במאמר יצירת מפתחות.
3.0.9
ביום שישי, 11 באוקטובר, השקנו את התיקונים והשיפורים הבאים ל-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים שמשויכים ל-Edge Microgateway 3.0.9. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.0.9 | 3.0.7 | 3.0.7 | 3.0.10 | 3.0.7 |
תיקוני באגים ושיפורים:
- 141989374 – נוספה תכונה חדשה מסוג 'fail open' לפלאגין המכסות.
כשהתכונה הזו מופעלת, אם מתרחשת שגיאה בטיפול במכסה או אם הבקשה 'החלת מכסה' ל-Edge נכשלת בעדכון של ספירות המכסות מרחוק, המערכת תעבד את המכסה על סמך ספירה מקומית בלבד עד לסנכרון הבא של המכסות מרחוק. בשני המקרים האלה, הדגל
quota-failed-open
מוגדר באובייקט הבקשה.כדי להפעיל את התכונה 'fail open' של המכסה, מגדירים את ההגדרות הבאות:
quotas : failOpen : true
הערה: בנוסף, השם של הדגל של אובייקט הבקשה
fail-open
של פלאגין OAuth השתנה ל-oauth-failed-open
. - 142093764 – בוצע שינוי בהגדרות של שרת ה-proxy
edgemicro-auth
כדי למנוע חרגה מהמכסות. השינוי הוא הגדרת סוג המכסה ל-calendar. כדי להשתמש בשיפור הזה, צריך לעדכן אתedgemicro-auth
לגרסה 3.0.7 ואילך. - 142520568 – נוספה תכונה חדשה שמאפשרת לרשום ביומן את מזהה ה-MP (מעבד ההודעות) בתשובות לגבי מכסות. כדי להשתמש בתכונה הזו, צריך לעדכן את שרת ה-proxy של
edgemicro-auth
לגרסה 3.0.7 ואילך ולהגדיר את ההגדרות הבאות:quotas: useDebugMpId: true
כשהערך של
useDebugMpId
מוגדר, תגובות המכסות מ-Edge יכללו את מזהה ה-MP ויירשמו ביומן על ידי Edge Microgateway. לדוגמה:{ "allowed": 20, "used": 3, "exceeded": 0, "available": 17, "expiryTime": 1570748640000, "timestamp": 1570748580323, "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a" }
3.0.8
ביום חמישי, 26 בספטמבר, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים שמשויכים ל-Edge Microgateway 3.0.8. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.0.8 | 3.0.6 | 3.0.6 | 3.0.9 | 3.0.6 |
תיקוני באגים ושיפורים:
- 140025210 – נוספה תכונה חדשה מסוג 'כישלון פתוח'. התכונה הזו מאפשרת להמשיך את העיבוד של ה-API אם אי אפשר לרענן את הטוקן של JWT שפג תוקפו בגלל שגיאת חיבור שמונעת קריאה מוצלחת לאימות מפתח ה-API לשרת ה-proxy
edgemicro-auth
.התכונה מאפשרת להגדיר תקופת חסד שבה האסימון הישן נשאר במטמון וממשיכים להשתמש בו עד לסיום תקופת החסד. התכונה מאפשרת ל-Edge Microgateway להמשיך לעבד בקשות במקרה של כשל זמני בחיבור. כשהקישוריות מתחדשת והקריאה של Verify API Key מסתיימת בהצלחה, אסימון JWT חדש מאוחזר ומחליף את אסימון ה-JWT הישן במטמון.
כדי להגדיר את התכונה החדשה 'כישלון פתוח':
- מגדירים את המאפיינים הבאים בפסקה
oauth
בקובץ התצורה של Edge Microgateway:oauth: failOpen: true failopenGraceInterval: time_in_seconds cacheKey: true ...
לדוגמה:
oauth: failOpen: true failopenGraceInterval: 5 cacheKey: true ...
בדוגמה הזו, הטוקן הישן ישמש למשך 5 שניות אם לא ניתן יהיה לרענן אותו עקב בעיה בחיבור. אחרי 5 שניות תוחזר שגיאת אימות.
- מגדירים את המאפיינים הבאים בפסקה
- 141168968 – בוצע עדכון כך ש-
correlation_id
יכלול את כל הפלט של יומן הפלאגין. בנוסף, רמות היומנים של יומנים מסוימים שונו ל-error
כנדרש. - 140193349 – בוצע עדכון לשרת ה-proxy
edgemicro-auth
כך שיהיה צורך לאמת את המפתח והסוד של Edge Microgateway בכל בקשה לאימות מפתח API. Edge Microgateway עודכן כך שיישלח תמיד את המפתח והסוד בכל בקשה לאימות מפתח API. השינוי הזה מונע מלקוחות לקבל JWT באמצעות מפתח API בלבד. - 140090250 – בוצע עדכון להוספת רישום אבחונים ביומן לעיבוד מכסות. בעקבות השינוי הזה, עכשיו אפשר לבצע קורלציה בין הפלט של יומן quoto לשאר היומנים של Edge Microgateway.
3.0.7
ביום חמישי, 12 בספטמבר, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
גרסאות רכיבים:
בטבלה הבאה מפורטים מספרי הגרסאות של פרויקטי הרכיבים השונים המשויכים ל-Edge Microgateway 3.0.7. חשוב לזכור שכל רכיב הוא פרויקט נפרד, ולכן מספרי הגרסאות עשויים להיות שונים מגרסת המוצר הראשית:
microgateway | core | config | plugins | edgeauth |
---|---|---|---|---|
3.0.7 | 3.0.5 | 3.0.5 | 3.0.8 | 3.0.5 |
תיקוני באגים ושיפורים:
140075602 – בוצע עדכון בפלאגין OAuth כדי להחזיר קוד סטטוס 5xx במקרים הרלוונטיים. בעבר, הפלאגין החזיר רק קודי סטטוס 4xx בכל המקרים שבהם קוד הסטטוס לא היה 200. עכשיו, לכל תגובה להודעה שאינה סטטוס 200, יוחזר הקוד המדויק של 4xx או 5xx, בהתאם לשגיאה.
התכונה הזו מושבתת כברירת מחדל. כדי להפעיל את התכונה הזו, מוסיפים את המאפיין
oauth.useUpstreamResponse: true
לתצורה של Edge Microgateway. לדוגמה:oauth: allowNoAuthorization: false allowInvalidAuthorization: false gracePeriod: 10 useUpstreamResponse: true
- 140090623 – בגרסה 3.0.6 נוספ נכס תצורה חדש,
quota.quotaUri
. מגדירים את מאפיין התצורה הזה אם רוצים לנהל את המכסות דרך שרת ה-proxy שלedgemicro-auth
שנפרס בארגון. אם לא תגדירו את המאפיין הזה, נקודת הקצה של המכסה תהיה נקודת הקצה הפנימית של Edge Microgateway כברירת מחדל. לדוגמה:edge_config: quotaUri: https://%s-%s.apigee.net/edgemicro-auth
בגרסה 3.0.7, ה-
edgemicro-auth
עודכן כדי לקבל את ההגדרה החדשה הזו. כדי להשתמש בנכסquotaUri
, צריך לשדרג לשרתי proxy העדכניים ביותר שלedgemicro-auth
. פרטים נוספים זמינים במאמר שדרוג שרת ה-proxy של edgemicro-auth. - 140470888 – נוספה כותרת Authorization לשיחות הקשורות למכסות כדי לספק אימות.
בנוסף, שינו את שרת ה-proxy
edgemicro-auth
כדי להסיר את 'organization' ממזהה המכסה. מכיוון שנקודת הקצה של המכסה נמצאת בארגון של הלקוח, אין יותר צורך במזהה המכסה. - 140823165 – שם הנכס הבא:
edgemicro: keepAliveTimeout
תועדה באופן שגוי במהדורה 3.0.6. שם הנכס הנכון הוא:
edgemicro: keep_alive_timeout
- 139526406 – תוקנה באג שבו ספירת המכסות הייתה שגויה אם לאפליקציית הפיתוח היו כמה מוצרים. עכשיו המכסות נאכפות בצורה תקינה לכל מוצר באפליקציה שיש בה כמה מוצרים. השילוב של 'appName + productName' משמש כמזהה המכסה.
3.0.6
ביום חמישי, 29 באוגוסט, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
- 138633700 – נוספ מאפיין תצורה חדש,
keepAliveTimeout
. הנכס הזה מאפשר להגדיר את הזמן הקצוב לתפוגה של Edge Microgateway (במילי-שניות). (ברירת המחדל: 5,000 אלפיות שנייה)לדוגמה:
edgemicro: keep_alive_timeout: 600
- 140090623 – הוסף מאפיין תצורה חדש,
quotaUri
. מגדירים את מאפיין התצורה הזה אם רוצים לנהל את המכסות דרך שרת ה-proxyedgemicro-auth
שנפרס בארגון. אם לא תגדירו את המאפיין הזה, נקודת הקצה של המכסה תהיה נקודת הקצה הפנימית של Edge Microgateway כברירת מחדל. לדוגמה:edge_config: quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
כדי להשתמש בתכונה הזו, קודם צריך לפרוס בארגון את הגרסה האחרונה של שרת ה-proxy של
edgemicro-auth
. פרטים נוספים זמינים במאמר שדרוג שרת ה-proxy של edgemicro-auth. - 138722809 – נוסף מאפיין תצורה חדש,
stack_trace
. המאפיין הזה מאפשר לקבוע אם קווים למעקב אחר סטאק יופיעו בקובצי יומנים. לדוגמה:stack_trace: false
אם
stack_trace
מוגדר כ-true
, מעקב הסטאק יודפס ביומני. אם הוא מוגדר כ-false
, ה-trace של הערימה לא יודפס ביומני המערכת.
3.0.5
ביום חמישי, 15 באוגוסט, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
תיקוני באגים- 139005279 – תוקנה בעיה שבה הפקודה
edgemicro status
לא החזירה את המספר הנכון של תהליכי עבודה. - 138437710 – תוקנה בעיה בכיתה ExitCounter שגרמה לכך שלא נכתב היומן הנכון.
- 139064652 – נוספה היכולת להוסיף רמות רישום ביומן
trace
ו-debug
ליומני אירועים וליומני מערכת. בשלב הזה נוספה רק היכולת להוסיף את רמות היומן האלה. בשלב זה, רמות היומנים הזמינות הןinfo
,warn
ו-error
. - 139064616 – הפלט של היומן הוגדר כסטנדרטי לכל ההצהרות ביומן המסוף. הצהרות הרישום ביומן של מסוף עכשיו כוללות את המאפיינים הבאים:
- חותמת זמן
- שם הרכיב
- מזהה תהליך
- הודעה ביומן של מסוף
- 138413755 – שיפור ההודעות ביומן שקשורות למפתחות ולסודות של JWT בפקודות ה-CLI הבאות: cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey ו-configure.
- 138413577 – הוספה ושיפור של טיפול בשגיאות במקרים של תפוגת זמן הקצוב לשירות לקצה העורפי.
- 138413303 – הוספה ושיפור של טיפול בשגיאות בתגובה ובתוקף הזמן הקצוב ליצירת חיבור.
- 138414116 – הוספה ושיפור של טיפול בשגיאות מסוג 'החיבור נדחה'.
3.0.4
ביום חמישי, 1 באוגוסט, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
- 134445926 – שיפורים באימות הפנימי של Edge Microgateway.
- 137582169 – תוקנה בעיה שגרמה להפעלה של תהליכים לא רצויים. התהליכים הנוספים גרמו לטעינה מחדש של הפלאגינים והשתמשו בזיכרון יתר. מעכשיו, Edge Microgateway שומר על מספר התהליכים במסגרת המגבלה הצפויה.
- 137768774 – שיפורים בהודעות ביומן:
- ניקוי יומני העסקאות (הבקשות).
- נוספו הודעות נוספות ביומן לפי הצורך.
- הועברו הודעות ביומן של עסקאות (בקשות) מפלט הקונסולה לקובץ היומן הרלוונטי.
- יומני המסוף עודכנו כך שישתמשו בפונקציה מרכזית של רישום ביומן.
- 138321133, 138320563 – שינוי פנימי בסיסי במאגר המכסות כדי לאפשר שיפורים עתידיים במכסות.
3.0.3
ביום שלישי, 23 ביולי, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
- שיפורים ברישום ביומן: יומני זמן הריצה הקיימים משתמשים בפונקציה חדשה,
eventLog()
, שמתעדת את נתוני זמן הריצה ומתעדת אותם ביומן בפורמט עקבי. פרטי היומן כוללים:- חותמת זמן (ISO 8601: YYYY-MM-DDTHH:mm:ss.sssZ).
- רמת הרישום ביומן (שגיאה, אזהרה או מידע).
- שם מארח – שם המארח מבקש מהכותרת של הבקשה.
- מזהה תהליך – אם אתם מריצים אשכול של תהליכי Node.js, זהו המזהה של התהליך שבו התרחשה הרישום ביומן.
- שם הארגון ב-Apigee.
- שם הסביבה בארגון.
- שם שרת ה-proxy ל-API.
- כתובת ה-IP של הלקוח.
- ClientId.
- מזהה ההתאמה (לא מוגדר כרגע).
- שם הרכיב של Edge Microgateway.
- הודעה מותאמת אישית – אובייקטים מסוימים עשויים להדפיס מידע נוסף שמוענק למאפיין השגיאה הזה.
- שיטת הבקשה (אם מדובר בבקשת HTTP).
- קוד סטטוס התגובה (אם מדובר בבקשת HTTP).
- הודעת שגיאה.
- קוד שגיאה – אם אובייקט כולל קוד שגיאה, הוא מודפס במאפיין הזה.
- משך הזמן.
- סימן לסוף שורה במערכת ההפעלה.
ערכי מאפיינים של null יגרמו לסוגריים ריקים,
[]
.הדוגמה הבאה מראה את הפורמט של היומן:
Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]
(137770055)
- ביצועים: מוצרים של ממשקי API לא סוננו על סמך הסביבה. הבעיה תוקנה. (135038879)
- שילובים שונים של בדיקות פונקציונליות ושיפורים באיכות הקוד.
3.0.2
ביום רביעי, 3 ביולי 2019, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
איכות הקוד – הקוד נבדק מבחינת איכות, ושינויים בו בוצעו כדי לעמוד בסטנדרטים של איכות שהמשתמשים ביקשו. טיפלנו בשגיאות ובאזהרות לגבי איכות הקוד שמקורן ב-JSHint.
כתוצאה מכך, זוהו וטופל חלק מהשגיאות בפועל בקוד. כל המודולים של Apigee Edge Microgateway עברו את התהליך הזה. אפשר לעיין ב-commits מ-28 ביוני ומ-2 ביולי לגבי microgateway-config
, microgateway-core
, microgateway-plugins
ו-microgateway
.
כל המודולים עם שינויים באיכות הקוד נבדקו באמצעות כלים פנימיים שמאמתים את ההרצה של Edge Microgateway בתרחישי שימוש של לקוחות.
3.0.1
ביום שישי, 21 ביוני 2019, השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.
- 134834551 – שינוי הגרסאות הנתמכות של Node.js ל-Edge Microgateway
(גרסאות Node.js נתמכות: 8 ו-12. הגרסאות 7, 9 ו-11 הן ניסיוניות) - 134751883 - Edge Microgateway crashes when reloading under load
- 134518428 - נקודת הקצה של מוצרים ב-Edge Microgateway מחזירה קוד שגיאה 5XX אם דפוס הסינון שגוי
- 135113408 - Workers should restart if they terminate unexpectedly
- 134945852 – לא נעשה שימוש ב-tokenCacheSize בפלאגין OAuth
- 134947757 - set cacheTTL in oauth plug-in
- 135445171 - gracePeriod calculation in OAuth is not correct
- שימוש במודול ששמור במכשיר, שסופק עם התקנת Edge Microgateway
- 135367906 – בדיקת אבטחה
גרסה 2.5.x
תכונות חדשות ושיפורים בגרסה 2.5.x
(תוקן בגרסה 2.5.38, 6 ביולי 2019)
אסימוני JWT בפורמט שגוי עלולים לגרום לקריסה של עובדים כשמשתמשים במטמון האסימונים. התיקון נוסף למודול microgateway-plugins של Edge. (b/134672029)
(נוספה ב-2.5.37) מוסיפים את האפשרות edgemicro-cert -t
ל-CLI.
האפשרות edgemicro cert -t
מאפשרת לציין אסימון OAuth כדי לאמת ממשקי API לניהול. אפשר לעיין גם במאמר ניהול אישורים.
(נוספה בגרסה 2.5.35) נוספה תמיכה בניפוי באגים של Edge Microgateway באמצעות edgemicroctl
.
אפשר להשתמש בדגל mgdebug
עם edgemicroctl
. אפשר לעיין גם במאמר משימות של שילוב עם Kubernetes.
(נוסף ב-2.5.35) מפעילים build של Windows עבור edgemicroctl
.
(נוסף ב-2.5.31) ממשק API חדש של edgemicro-auth/token
נוספה גרסה חדשה של edgemicro-auth/token API שמאפשרת להעביר את הלקוח/הסוד ככותרת של הרשאה בסיסית בקידוד Base64, ואת grant_type כפרמטר של טופס. מידע נוסף זמין במאמר קבלת אסימוני בעלים ישירות.
(תוקן בגרסה 2.5.31) הגדרה פרטית לא מתייחסת לדגל הטוקן
תוקנה בעיה שבה הגדרת Edge Microgateway לשימוש בטוקן גישה של OAuth2 ב-Edge for Private Cloud לא פעלה כראוי (הטוקן לא טופל).
Docker: תמיכה בשימוש באישורים בחתימה עצמית
(נוסף ב-2.5.29) אם אתם משתמשים ברשות אישורים (CA) שלא מהימנה כברירת מחדל על ידי Node.js, תוכלו להשתמש בפרמטר NODE_EXTRA_CA_CERTS
כשאתם מריצים קונטיינר Docker עם Edge Microgateway.
פרטים נוספים זמינים במאמר שימוש ב-CA שלא נחשב מהימן על ידי Node.js.
Docker: תמיכה ב-TLS
(נוסף ב-2.5.29) Edge Microgateway שפועל בקונטיינר של Docker תומך עכשיו ב-TLS לבקשות נכנסות לשרת Edge Microgateway (בקשות מצפון לדרום) ולבקשות יוצאות מ-Edge Microgateway לאפליקציית יעד (בקשות מדרום לצפון).
בדוגמאות הבאות מוסבר בפירוט איך להגדיר את הגדרות ה-TLS האלה:
בדוגמאות האלה תלמדו איך להשתמש בנקודת הטעינה של הקונטיינר /opt/apigee/.edgemicro
כדי לטעון את האישורים, שאליהם יהיה הפניה בקובץ התצורה של Edge Microgateway.
Docker: תמיכה בשליחת בקשות דרך שרת proxy
(נוסף ב-2.5.27) אם אתם מריצים את Edge Microgateway בקונטיינר של Docker, תוכלו להשתמש באפשרויות הבאות כדי לשלוט בהתנהגות שרת ה-proxy כשה-microgateway פועל מאחורי חומת אש:
HTTP_PROXY
HTTPS_PROXY
NO_PROXY
פרטים נוספים זמינים במאמר הפעלת Edge Micro כקונטיינר ב-Docker.
Docker: הוראות מעודכנות לשימוש בתוסף
(נוסף ב-2.5.27) אם אתם מפעילים את Edge Microgateway בקונטיינר של Docker, עכשיו יש לכם שתי אפשרויות לפריסה של יישומי פלאגין. אחת מהאפשרויות, שימוש בנקודת טעינה של Docker, היא חדשה. האפשרות השנייה הייתה קיימת בעבר, והיא לא השתנתה באופן מהותי, אבל קובץ Dockerfile עודכן. פרטים נוספים זמינים בקישורים הבאים:
- אפשרות א': עילוי של ספריית הפלאגינים בנפח אחסון (חדש)
- אפשרות ב': פיתוח הפלאגינים בתוך הקונטיינר (עדכון)
תמיכה חדשה באסימוני OAuth בפקודת השדרוג של KVM
(נוסף ב-2.5.27) אפשר להשתמש באסימון OAuth באמצעות הפקודה upgradekvm
. פרטים נוספים זמינים במאמר שדרוג ה-KVM.
הפרדה בין ממשקי API ב-Edge Analytics
(נוספו ב-2.5.26) דגלים חדשים של פלאגין לניתוח נתונים מאפשרים להפריד נתיב API ספציפי כך שיופיע כשרתי proxy נפרד במרכזי הבקרה של Edge Analytics. לדוגמה, אפשר להפריד בין ממשקי API לבדיקת תקינות כדי למנוע בלבול ביניהם לבין קריאות API בפועל. מידע נוסף זמין במאמר החרגת נתיבים מניתוח נתונים.
הגדרת שרת proxy מקומי
(נוסף ב-2.5.25) כשמשתמשים בשרת proxy מקומי, אין צורך ליצור באופן ידני שרת proxy שמתאים ל-microgateway ב-Apigee Edge. במקום זאת, המיקרו-שער ישתמש בנתיב הבסיס של שרת ה-proxy המקומי. מידע נוסף זמין במאמר שימוש במצב שרת proxy מקומי.
שימוש במצב נפרד
(נוסף ב-2.5.25) אפשר להריץ את Edge Microgateway באופן מנותק לחלוטין מכל יחסי תלות של Apigee Edge. התרחיש הזה, שנקרא מצב ניצב, מאפשר להריץ ולבדוק את Edge Microgateway בלי חיבור לאינטרנט. מידע נוסף זמין במאמר הפעלת Edge Microgateway במצב ניצב.
ביטול מפתחות
(נוספה ב-2.5.19) נוספה פקודת CLI חדשה שמבטלת את המפתח ופרטי הכניסה הסודיים של הגדרת Edge Microgateway.
edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
תמיכה ב-Docker
(נוסף ב-2.5.19) עכשיו אפשר להוריד את הגרסה האחרונה של Edge Microgateway כקובץ אימג' של Docker:
docker pull gcr.io/apigee-microgateway/edgemicro:latest
תמיכה ב-Kubernetes
(נוסף ב-2.5.19) אפשר לפרוס את Edge Microgateway כשירות או כשער sidecar מול שירותים שנפרסים באשכול Kubernetes. סקירה כללית על שילוב Edge Microgateway עם Kubernetes
תמיכה באפשרות TCP nodelay
(נוסף ב-2.5.16) נוספה הגדרת תצורה חדשה, nodelay
, לתצורה של Edge Micro.
כברירת מחדל, חיבורי TCP משתמשים באלגוריתם Nagle כדי לאגור נתונים לפני השליחה שלהם. הגדרת nodelay
לערך true
משביתה את ההתנהגות הזו (הנתונים יישלחו באופן מיידי בכל פעם שתתבצע קריאה ל-socket.write()
). פרטים נוספים זמינים במסמכי התיעוד של Node.js.
כדי להפעיל את nodelay
, עורכים את קובץ התצורה של Edge Micro באופן הבא:
edgemicro: nodelay: true port: 8000 max_connections: 1000 config_change_poll_interval: 600 logging: level: error dir: /var/tmp stats_log_interval: 60 rotate_interval: 24
אפשרויות חדשות ב-CLI למעקב ללא הגבלת זמן
(נוסף ב-2.5.12) נוספו פרמטרים חדשים לפקודה edgemicro forever
. הפרמטרים האלה מאפשרים לציין את המיקום של הקובץ forever.json
, ולהפעיל או להפסיק את תהליך הרקע של Forever. אפשר גם לעיין במאמר מעקב ללא הגבלת זמן
פרמטר | תיאור |
---|---|
-f, --file | מציין את המיקום של קובץ forever.json . |
-a, --action | start או stop . ברירת המחדל היא start. |
דוגמאות:
כדי להתחיל את Forever:
edgemicro forever -f ~/mydir/forever.json -a start
כדי להפסיק את Forever:
edgemicro forever -a stop
רוטציית מפתחות JWT
נוספה תכונה חדשה שמאפשרת לבצע רוטציה של זוגות המפתחות הציבוריים/הפרטיים שמשמש ליצירת אסימוני ה-JWT שמיועדים לאבטחת OAuth ב-Edge Microgateway. רוטציה של מפתחות JWT
סינון שרתי proxy ל-API שהורדתם
כברירת מחדל, Edge Microgateway מוריד את כל שרת ה-proxy בארגון Edge שמתחילים בתחילית השם 'edgemicro_'. אפשר לשנות את ברירת המחדל הזו כדי להוריד שרתים proxy ששמותיהם תואמים לדפוס. סינון שרתים אנונימיים שהורדתם
ציון מוצרים ללא שרתי proxy ל-API
ב-Apigee Edge אפשר ליצור מוצר API שלא מכיל שרתי proxy ל-API. הגדרת המוצר הזו מאפשרת למפתח API שמשויך למוצר הזה לפעול דרך כל שרת proxy שנפרס בארגון. החל מגרסה 2.5.4, Edge Microgateway תומך בהגדרה הזו של המוצר.
תמיכה במעקב ללא הגבלת זמן
ל-Edge Microgateway יש קובץ forever.json
שאפשר להגדיר כדי לקבוע כמה פעמים ובאיזה מרווחי זמן צריך להפעיל מחדש את Edge Microgateway. הקובץ הזה מגדיר שירות שנקרא forever-monitor, שמנהל את Forever באופן פרוגרמטי.
מעקב Forever
ניהול מרכזי של קובץ התצורה של Edge Micro
אם אתם מריצים כמה מכונות של Edge Microgateway, כדאי לנהל את ההגדרות שלהן ממקום אחד. כדי לעשות זאת, מציינים נקודת קצה מסוג HTTP שבה Edge Micro יכול להוריד את קובץ התצורה שלו. ציון נקודת קצה בקובץ תצורה
תמיכה באפשרות CLI ללא הגבלת זמן
(נוסף ב-2.5.8) משתמשים בפקודה edgemicro forever [package.json]
כדי לציין את המיקום של הקובץ forever.json
. לפני הוספת הפקודה הזו, קובץ התצורה היה צריך להיות בספריית השורש של Edge Microgateway.
לדוגמה:
edgemicro forever ~/mydir/forever.json
הוספת האפשרות configUrl לפקודה reload
(נוסף ב-2.5.8) עכשיו אפשר להשתמש באפשרות --configUrl
או -u
עם הפקודה edgemicro reload
.
תקופת חסד לפערים בזמן של JWT
(נוסף ב-2.5.7) מאפיין gracePeriod בהגדרת OAuth עוזר למנוע שגיאות שנגרמות כתוצאה מחוסר התאמה קל בין שעון המערכת לבין זמני 'לא לפני' (nbf) או 'הונפקה ב' (iat) שצוינו באסימון ההרשאה מסוג JWT. כדי לאפשר אי-התאמות כאלה, צריך להגדיר את המאפיין הזה למספר השניות. מאפייני OAuth
(נוסף ב-2.5.7) מאפיין gracePeriod בהגדרת OAuth עוזר למנוע שגיאות שנגרמות כתוצאה מחוסר התאמה קל בין שעון המערכת לבין זמני 'לא לפני' (nbf) או 'הונפקה ב' (iat) שצוינו באסימון ההרשאה מסוג JWT. כדי לאפשר אי-התאמות כאלה, צריך להגדיר את המאפיין הזה למספר השניות. מאפייני OAuth
באגים שתוקנו בגרסה 2.5.x
- (בעיה מס' 236) תיקון שגיאת הקלדה בניקוי המטמון.
- (בעיה מס' 234) קריסות בטעינה מחדש של Edge Microgateway 2.5.35.
- (בעיה מס' 135) שגיאה מסוג 'secure' של הפניה לאירוח וירטואלי לא תקינה כשמשתמשים באפשרות -v. התיקון הזה משנה את שרת ה-proxy של edgemicro-auth לפני הפריסה, כדי לוודא שהמארחים הווירטואליים תואמים בדיוק למה שצוין בדגל '-v'. בנוסף, אפשר לציין מספר לא מוגבל של מארחים וירטואליים עם כל שם שרוצים (לא מוגבל יותר למארחים שמוגדרים כברירת מחדל ומאובטחים).
- (בעיה מס' 141) הפקודה edgemicro reload לא תומכת באפשרות -c של קובץ התצורה. כבר פתרנו את הבעיה הזו.
- (בעיה מס' 142) ב-Edge Microgateway מתקבלת תלונה על קריפטוגרפיה שהוצאה משימוש בזמן ההתקנה. כבר פתרנו את הבעיה הזו.
- (בעיה מס' 145) המכסה לא פועלת עם Edge Microgateway. כבר פתרנו את הבעיה הזו.
- (בעיה בקהילה של Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) אסימון JWT מאומת מול שרתים proxy של ממשקי API ומול URI של משאבים ב-OAUTH. הבעיה תוקנה.
- (בעיה בקהילה של Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway לא עובד עם OAuth. כבר פתרנו את הבעיה הזו.
- תיקון של pidPath ב-Windows.
- (בעיה מס' 157) תוקנה הבעיה שגרמה להצגת הודעת השגיאה הבאה:
ReferenceError: deployProxyWithPassword
is not defined. - (בעיה מס' 169) עדכון יחסי התלות של Node.js (בדיקת npm)
- שרת ה-proxy
edgemicro-auth
משתמש עכשיו בכללי המדיניות של JWT ב-Edge. שרת ה-proxy כבר לא תלוי ב-Node.js כדי לספק תמיכה ב-JWT.
גרסה 2.4.x
תכונות חדשות ושיפורים בגרסה 2.4.x
1. הגדרת כינוי מותאם אישית לשרת ה-proxy של edgemicro-auth (PR 116)
אפשר לשנות את נתיב הבסיס שמוגדר כברירת מחדל לשרת ה-proxy edgemicro-auth. כברירת מחדל, נתיב הבסיס הוא /edgemicro-auth. כדי לשנות אותו, משתמשים בדגל -x בפקודה edgemicro configure.
דוגמה:
edgemicro configure -x /mypath …
2. תמיכה בתווים כלליים לחיפוש בנתיבי בסיס (PR 77)
אפשר להשתמש בתו כללי לחיפוש אחד או יותר מסוג * בנתיב הבסיס של שרת proxy מסוג edgemicro_*. לדוגמה, נתיב בסיס של /team/*/members מאפשר ללקוחות לבצע קריאה ל-https://[host]/team/blue/members ול-https://[host]/team/green/members בלי שתצטרכו ליצור שרתים proxy חדשים של API כדי לתמוך בצוותים חדשים. שימו לב: אין תמיכה ב-/**/.
חשוב: ב-Apigee אין תמיכה בשימוש בתווית ה-wildcard '*' כרכיב הראשון בנתיב בסיס. לדוגמה, אין תמיכה באפשרות הבאה: /*/search.3. נתיב תצורה מותאם אישית נוסף ל-CLI להגדרת ענן פרטי (PR 99)
כברירת מחדל, קובץ התצורה של המיקרו-שער נמצא ב-./config/config.yaml. בפקודות init, configure ו-start, אפשר עכשיו לציין נתיב תצורה בהתאמה אישית בשורת הפקודה באמצעות הדגלים -c או --configDir. תוקנה בעיה שבה לא זוהתה ספריית תצורה מותאמת אישית להתקנות של ענן פרטי.
דוגמה:
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
4. שמירה על משתני *_PROXY (PR 61)
אם Edge Microgateway מותקן מאחורי חומת אש ולא מצליח לתקשר עם Apigee Edge בענן הציבורי, יש שתי אפשרויות:
אפשרות 1:
האפשרות הראשונה היא להגדיר את האפשרות edgemicro: proxy_tunnel כ-true בקובץ התצורה של microgateway:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: true
כשהערך של proxy_tunnel הוא true, Edge Microgateway משתמש ב-HTTP method CONNECT כדי לנתב בקשות HTTP דרך חיבור TCP יחיד. (הדבר נכון גם אם משתני הסביבה להגדרת שרת ה-proxy מופעלים ב-TLS).
אפשרות 2:
האפשרות השנייה היא לציין שרת proxy ולהגדיר את proxy_tunnel לערך false בקובץ התצורה של המיקרו-שער. לדוגמה:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: false
במקרה כזה, אפשר להגדיר את המשתנים הבאים כדי לקבוע את המארחים של כל שרת proxy ל-HTTP שבהם רוצים להשתמש, או את המארחים שלא אמורים לטפל בשרתי proxy של Edge Microgateway: HTTP_PROXY, HTTPS_PROXY ו-NO_PROXY. אפשר להגדיר את NO_PROXY כרשימה מופרדת בפסיקים של דומיינים שאסור להעביר דרך שרת proxy ב-Edge Microgateway. לדוגמה:
export HTTP_PROXY='http://localhost:3786' export HTTPS_PROXY='https://localhost:3786'
מידע נוסף על המשתנים האלה זמין במאמרים הבאים:
https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables
5. הגדרת זמן קצוב מותאם אישית לתפוגה לבקשות טירגוט (PR 57)
אפשר להגדיר זמן קצוב מותאם אישית לתפוגה לבקשות יעד באמצעות ההגדרה הבאה:
edgemicro: request_timeout: 10
זמן הקצוב לתפוגה מוגדר בשניות. אם חל תוקף זמן קצוב, Edge Microgateway משיב עם קוד סטטוס 504.
6. שמירה על הודעות סטטוס HTTP בהתאמה אישית בתגובה של היעד (PR 53)
Edge Microgateway מתייחס להודעות סטטוס HTTP בהתאמה אישית שהוגדרו בתגובה היעד. בגרסאות קודמות, הודעות סטטוס שנשלחו מהיעד הוחלפו בהגדרות ברירת המחדל של Node.js.
7. כותרת X-Forwarded-For יכולה להגדיר את client_ip לצורכי ניתוח נתונים
אם הוא קיים, הכותרת X-Forwarded-For תגדיר את המשתנה client_ip שמדווח ב-Edge Analytics. התכונה הזו מאפשרת לדעת את כתובת ה-IP של הלקוח ששלח בקשה ל-Edge Microgateway.
8. שינויים בפלאגין של OAuth
הפלאגין של OAuth תומך באימות של מפתח API ואימות של אסימון גישה ל-OAuth. לפני השינוי הזה, הפלאגין קיבל את כל שתי צורות האבטחה. בעקבות השינוי הזה, תוכלו לאפשר רק אחד ממודלי האבטחה האלה (תוך שמירה על תאימות לאחור).
יישומי הפלאגין של OAuth מוסיפים שני דגלים חדשים:
-
allowOAuthOnly – אם הערך מוגדר כ-true, כל ממשק API חייב לכלול כותרת Authorization עם אסימון גישה מסוג Bearer.
-
allowAPIKeyOnly – אם הערך מוגדר כ-true, כל ממשק API חייב לכלול את הכותרת x-api-key (או מיקום מותאם אישית) עם מפתח API.
מגדירים את הדגלים האלה בקובץ התצורה של Edge Microgateway באופן הבא:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false keep-authorization-header: false allowOAuthOnly: false allowAPIKeyOnly: false
9. שיפור שרת ה-proxy של edgemicro-auth (PR 40)
בוצעו שיפורים בשרת ה-proxy edgemicro-auth. לפני השינויים האלה, שרת ה-proxy שמר מפתחות ב-Edge Secure Store, מאגר מוצפן. עכשיו שרת ה-proxy מאחסן מפתחות במפת המפתחות והערכים (KVM) המוצפנת של Edge.
10. כתיבת מחדש של כתובת היעד שמוגדרת כברירת מחדל בפלאגין (PR 74)
אפשר גם לשנות את יציאת נקודת הקצה של היעד ולבחור בין HTTP לבין HTTPS. משנים את המשתנים הבאים בקוד הפלאגין: req.targetPort ו-req.targetSecure. כדי לבחור ב-HTTPS, מגדירים את req.targetSecure לערך true. כדי לבחור ב-HTTP, מגדירים את הערך ל-false. אם מגדירים את req.targetSecure כ-true, אפשר לעיין בשרשור הזה כדי לקבל מידע נוסף.
11. תמיכה ראשונית באימות של אסימוני OAuth (PR 125)
אפשר להגדיר את Edge Microgateway כך שישתמש באסימון OAuth לצורך אימות במקום שם משתמש/סיסמה. כדי להשתמש באסימון OAuth, משתמשים בפרמטר הבא בפקודה edgemicro configure:
-t, --token <token>
לדוגמה:
edgemicro configure -o docs -e test -t <your token>
באגים שתוקנו בגרסה 2.4.3
- תוקנה בעיה שבה ארגון בתשלום היה צריך להפעיל כראוי את שרת ה-proxy של edgemicro-auth. עכשיו אפשר להשתמש ב-Edge Microgateway גם עם ארגונים בגרסת ניסיון. (PR 5)
- תוקנה בעיה שבה העיבוד של הנתונים בסטרימינג לא הושלם, אבל פונקציות הטיפול בסוף התהליך (end handlers) בוצעו בכל זאת. כתוצאה מכך, נשלחה תשובה חלקית. (PR 71)
- תוקנה בעיה שבה לא זוהתה ספריית תצורה מותאמת אישית להתקנות של ענן פרטי. (PR 110)
- תוקנה בעיה ב-SSL דו-כיווני בין הלקוח ל-Edge Microgateway. (PR 70)
- תוקנה בעיה שבה היה צורך בקו נטוי בסוף נתיב הבסיס של שרת ה-proxy כדי שתהליך האימות של מפתח ה-API יפעל כראוי. עכשיו אין צורך בקו נטוי בסוף נתיב הבסיס. (PR 48)
גרסה 2.3.5
תכונות חדשות ושיפורים בגרסה 2.3.5
סינון דרך שרת proxy
אפשר לסנן את שרתי ה-proxy שתומכים ב-microgateway שעותק של Edge Microgateway יעבד.
כש-Edge Microgateway מופעל, הוא מוריד את כל שרת ה-proxy שתומכים ב-microgateway בארגון שאליו הוא משויך. אפשר להשתמש בהגדרה הבאה כדי להגביל את שרתי ה-proxy ש-microgateway יטפל בהם. לדוגמה, ההגדרה הזו מגבילה את שרתי ה-proxy שהמיקרו-שער יعالج לשלושה: edgemicro_proxy-1
, edgemicro_proxy-2
ו-edgemicro_proxy-3
:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
הסוואה של נתוני Analytics
הגדרה חדשה מאפשרת למנוע את הצגת פרטי נתיב הבקשה בניתוח הנתונים של Edge. מוסיפים את הקוד הבא לתצורה של המיקרו-שער כדי להסתיר את ה-URI של הבקשה ו/או את נתיב הבקשה. שימו לב שכתובת ה-URI מורכבת מחלקי הנתיב ושם המארח של הבקשה.
analytics: mask_request_uri: 'string_to_mask' mask_request_path: 'string_to_mask'
גרסה 2.3.3
תכונות חדשות ושיפורים בגרסה 2.3.3
בהמשך מפורטים השיפורים והתכונות החדשות בגרסה הזו.
השבתת הסקרים האוטומטיים של השינויים
כדי להשבית את הבדיקה האוטומטית של שינויים, מגדירים את המאפיין הזה בתצורה של המיקרו-שער:
disabled_config_poll_interval: true
כברירת מחדל, הסקרים התקופתיים מזהים שינויים שבוצעו ב-Edge (שינויים במוצרים, שרתים proxy שתומכים ב-microgateway וכו'), וגם שינויים שבוצעו בקובץ התצורה המקומי. מרווח הבדיקה שמוגדר כברירת מחדל הוא 600 שניות (חמש דקות).
כתיבת מחדש של כתובות URL של יעד בפלאגינים
אפשר לשנות באופן דינמי את כתובת היעד שמוגדרת כברירת מחדל בפלאגין, על ידי שינוי המשתנים הבאים בקוד הפלאגין: req.targetHostname ו-req.targetPath.
חתימת פונקציה חדשה של פלאגין
נוספה חתימה חדשה לפונקציה של הפלאגין, שמספקת את תגובת היעד כארגומנטים. התוספת הזו מאפשרת ל-plugins לגשת בקלות לתשובה של היעד.
function(sourceRequest, sourceResponse, targetResponse, data, cb)
פלט פשוט יותר של רישום ביומן כברירת מחדל
כברירת מחדל, שירות הרישום ביומן משמיט עכשיו את ה-JSON של שרתים אנונימיים, מוצרים ואסימוני JWT שהורדתם.
כדי לשנות את ברירת המחדל להצגת הפלט של האובייקטים האלה, מגדירים את DEBUG=*
כשמפעילים את Edge Microgateway. לדוגמה:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
נתיב תצורה מותאם אישית נוסף ל-CLI
כברירת מחדל, קובץ התצורה של המיקרו-שער נמצא ב- ./config/config.yaml. עכשיו אפשר לציין נתיב תצורה בהתאמה אישית בשורת הפקודה בפקודות init, configure ו-start. לדוגמה:
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
תיקוני באגים בגרסה 2.3.3
- תוקנה דליפת זיכרון שהתרחשה במהלך בקשות או תשובות גדולות.
- תוקן הסדר שבו פועלים הפלאגינים. עכשיו הוא פועל כמו שמוסבר במסמכי התיעוד.
- הפלאגין accumulate-request לא נתקע יותר בבקשות GET.
- תוקנה בעיה בפלאגין accumulate-response, שבה חוסר גוף תגובה גרם לשגיאות.
גרסה 2.3.1
הערה לגבי ההתקנה
בחלק מהגרסאות הקודמות של Edge Microgateway אפשר להתקין את התוכנה על ידי הורדת קובץ ZIP. קובצי ה-ZIP האלה כבר לא נתמכים. כדי להתקין את Edge Microgateway, צריך להשתמש ב:
npm install -g edgemicro
פרטים נוספים זמינים בנושא ההתקנה.
תכונות חדשות ושיפורים בגרסה 2.3.1
בהמשך מפורטים השיפורים והתכונות החדשות בגרסה הזו.
סינון שרתים proxy
הגדרה חדשה מאפשרת לסנן את שרתי ה-proxy ש-Edge Microgateway יטען בזמן ההפעלה. בעבר, ה-microgateway טען את כל שרתי ה-proxy שתומכים ב-microgateway (שרתי proxy בשם edgemicro_*) שנשלפו מהארגון או מהסביבה של Edge שציינתם בפקודה edgemicro configure. התכונה החדשה הזו מאפשרת לסנן את רשימת השרתים הווירטואליים כך ש-Edge Microgateway יטען רק את אלה שציינתם. פשוט מוסיפים את הרכיב proxies לקובץ התצורה של המיקרו-שער כך:
edge micro: proxies: - edgemicro_[name] - edgemicro_[name] ...
לדוגמה, נניח שיש לכם 50 שרתים proxy מסוג edgemicro_*
בארגון או בסביבה שלכם ב-Edge, כולל שרתים בשם edgemicro_foo
ו-edgemicro_bar
. אפשר לומר למיקרו-שער להשתמש רק בשני שרת ה-proxy האלה באופן הבא:
edge micro: proxies: - edgemicro_foo - edgemicro_bar
בזמן ההפעלה, המיקרו-שער יוכל לבצע קריאה רק לשרתי ה-proxy שצוינו. כל ניסיון להפעיל שרת proxy אחר שמתאים ל-microgateway שהורדתם מהארגון או מהסביבה של Edge יוביל לשגיאה.
הגדרת כותרות של בקשות יעד בפלאגינים
אם רוצים להוסיף או לשנות כותרות של בקשות יעד, יש להביא בחשבון שני דפוסים בסיסיים: אחד שבו הבקשה הנכנסת מכילה נתונים (כמו בבקשת POST) ואחד שבו היא לא מכילה נתונים (כמו בבקשת GET פשוטה).
נניח שהבקשה הנכנסת מכילה נתונים, ואתם רוצים להגדיר כותרות לבקשה היעד. בגרסאות קודמות של Edge Microgateway לא ניתן היה להגדיר כותרות יעד באופן מהימן במקרה כזה.
המפתח לתבנית הזו הוא לצבור קודם את כל הנתונים הנכנסים מהלקוח. לאחר מכן, בפונקציה onend_request()
, משתמשים בפונקציה החדשה request.setOverrideHeader(name,
value)
כדי להתאים אישית את הכותרות.
הנה קוד לדוגמה של פלאגין שמראה איך עושים את זה. הכותרות שמוגדרות ב-onend_request
נשלחות ליעד:
module.exports.init = function(config, logger, stats) { function accumulate(req, data) { if (!req._chunks) req._chunks = []; req._chunks.push(data); } return { ondata_request: function(req, res, data, next) { if (data && data.length > 0) accumulate(req, data); next(null, null); }, onend_request: function(req, res, data, next) { if (data && data.length > 0) accumulate(req, data); var content = Buffer.concat(req._chunks); delete req._chunks; req.setOverrideHeader('foo', 'bar'); req.setOverrideHeader('content-length', content.length); next(null, content); }, onerror_request: function(req, res, data, next) { next(null, null); } }; }
אם הבקשה לא כוללת נתונים, אפשר להגדיר כותרות יעד במטפל onrequest()
. התבנית הזו לא חדשה – היא תועדה בעבר והיא שימשה ב-plug-ins לדוגמה שסופקו עם Edge Microgateway.
onrequest: function(req, res, next) { debug('plugin onrequest'); req.headers['x-foo-request-id'] = "bar"; req.headers['x-foo-request-start'] = Date.now(); next(); }
תכונה של טעינת מחדש ללא זמן השבתה
אחרי שמבצעים שינוי בהגדרות של Edge Microgateway, אפשר לטעון את ההגדרות בלי לאבד הודעות. בעקבות השינוי הזה, Edge Microgateway תמיד מתחיל לפעול במצב אשכול, והאפשרות --cluster
הוסרה מהפקודה edgemicro start
.
בנוסף, נוספו שלוש פקודות CLI חדשות. צריך להריץ את הפקודות האלה מאותה ספרייה שבה הפעלתם את הפקודה edgemicro start:
edgemicro status
– בדיקה אם Edge Microgateway פועל או לא.edgemicro stop
– עצירת האשכולות של Edge Microgateway.edgemicro reload
– טעינת מחדש של ההגדרות של Edge Microgateway ללא זמן השבתה.
טעינה מחדש אוטומטית של ההגדרות ללא זמן השבתה
Edge Microgateway טוען הגדרה חדשה מדי פעם ומבצע טעינת מחדש אם משהו השתנה. הסקרים מזהים שינויים שבוצעו ב-Edge (שינויים במוצרים, שינויים בשרתים proxy שתומכים ב-microgateway וכו'), וגם שינויים שבוצעו בקובץ התצורה המקומי. מרווח הזמן לבדיקה (polling) שמוגדר כברירת מחדל הוא 600 שניות (חמש דקות). אפשר לשנות את ברירת המחדל בקובץ התצורה של המיקרו-שער באופן הבא:
edgemicro: config_change_poll_interval: [seconds]
נוספו פרטי גרסה ל-CLI
הדגל --version
נוסף ל-CLI. כדי לקבל את הגרסה הנוכחית של Edge Microgateway, משתמשים ב-:
edgemicro --version
אפשרויות SSL חדשות לשרת של Edge Microgateway
Edge Microgateway תומך עכשיו באפשרויות ה-SSL הבאות בשרת, בנוסף ל-key
ול-cert
:
אפשרות | תיאור |
---|---|
pfx |
הנתיב לקובץ pfx שמכיל את המפתח הפרטי, האישור ואישורי ה-CA של הלקוח בפורמט PFX. |
passphrase |
מחרוזת שמכילה את ביטוי הגישה של המפתח הפרטי או של קובץ ה-PFX. |
ca |
נתיב לקובץ שמכיל רשימה של אישורים מהימנים בפורמט PEM. |
ciphers |
מחרוזת שמתארת את הצפנים שבהם צריך להשתמש, מופרדים באמצעות ':'. |
rejectUnauthorized |
אם הערך הוא true, אישור השרת מאומת מול רשימת רשויות האישורים שסופקו. אם האימות ייכשל, תוחזר שגיאה. |
secureProtocol |
שיטת ה-SSL שבה צריך להשתמש. לדוגמה, SSLv3_method כדי לאלץ את SSL לגרסה 3. |
servername |
שם השרת להרחבת ה-TLS של SNI (הצגת שם השרת). |
שליחת קובצי יומן ל-stdout
אפשר לשלוח נתוני יומן לפלט רגיל באמצעות הגדרת תצורה חדשה:
edgemicro: logging: to_console: true
מידע נוסף זמין במאמר ניהול קובצי יומן.
גרסה 2.1.2
בהמשך מפורטים השיפורים והתכונות החדשות בגרסה הזו.
אישור נקודת קצה מותאמת אישית ל-API לצורך הגדרה
יש נקודות קצה חדשות שניתן להגדיר בשרת ה-proxy להרשאות, שתומכות בשימוש בשירות אימות בהתאמה אישית. נקודות הקצה האלה הן:
edgeconfig:verify_api_key_url
edgeconfig:products
פרטים נוספים זמינים במאמר שימוש בשירות אימות מותאם אישית.
גרסה 2.1.1
בהמשך מפורטים השיפורים והתכונות החדשות בגרסה הזו.
פריסה של שרת proxy לאימות עם תאימות לפלטפורמות שונות
בוצע שיפור כדי שהפקודה שמשמשת לפריסה של שרת ה-proxy לאימות של Edge Microgateway ב-Edge תהיה תואמת למערכות Windows.
גרסה 2.1.0
תכונות חדשות ושיפורים בגרסה 21.0
אלה התכונות והשיפורים החדשים:
ציון אפשרויות SSL/TLS של לקוח
אפשר לציין אפשרויות לקוח לחיבורי SSL/TSL ליעדים באמצעות קבוצה חדשה של אפשרויות תצורה. שימוש באפשרויות SSL/TSL של לקוח
גרסה 2.0.11
הערה לגבי התקנה בגרסה 2.0.11
בחלק מהגרסאות הקודמות של Edge Microgateway אפשר להתקין את התוכנה על ידי הורדת קובץ ZIP. קובצי ה-ZIP האלה כבר לא נתמכים. כדי להתקין את Edge Microgateway, צריך להשתמש ב:
npm install -g edgemicro
פרטים נוספים זמינים בנושא ההתקנה.
תכונות חדשות ושיפורים בגרסה 2.0.11
אלה התכונות והשיפורים החדשים:
ציון יציאה בזמן ההפעלה
אפשר להשתמש בפקודה start כדי לציין מספר יציאה שיהווה שינוי אוטומטי למספר היציאה שצוין בקובץ התצורה. אפשר גם לציין מספר יציאה באמצעות משתנה הסביבה PORT. פרטים נוספים זמינים במאמר start command.
אפשרות לשמור את כותרות האימות
הגדרת תצורה חדשה, keepAuthHeader, מאפשרת לשמור את כותרת ההרשאה שנשלחת בבקשה. אם ההגדרה היא true, כותרת האימות מועברת ליעד. מאפייני OAuth
יכולת להשתמש בשירות הרשאה בהתאמה אישית
אם אתם רוצים להשתמש בשירות בהתאמה אישית משלכם לטיפול באימות, צריך לשנות את הערך authUri בקובץ התצורה של Edge Microgateway כך שיצביע על השירות שלכם. למידע נוסף, ראו שימוש בשירות אימות מותאם אישית.
גרסה 2.0.4
גרסה 2.0.4 של Edge Microgateway שוחררה ב-25 במאי 2016.
תכונות חדשות ושיפורים בגרסה 2.0.4
בהמשך מפורטים התכונות החדשות והשיפורים בגרסה הזו.
תמיכה בנתיבים של משאבים במוצרים
Edge Microgateway תומך עכשיו בנתיבים של משאבים במוצרים. נתיבי משאבים מאפשרים להגביל את הגישה לממשקי API על סמך הסיומת של נתיב שרת ה-proxy. למידע נוסף על יצירת מוצרים והגדרת נתיבי משאבים, ראו יצירת מוצרים של API.
תמיכה בהתקנה גלובלית של npm
עכשיו אפשר להתקין את Edge Microgateway באמצעות האפשרות npm -g (גלובלית). פרטים על האפשרות הזו מופיעים במסמכי העזרה של npm.
גרסה 2.0.0
Edge Microgateway v2.0.0 שוחרר ב-18 באפריל 2016.
תכונות חדשות ושיפורים בגרסה 2.0.0
בהמשך מפורטים התכונות החדשות והשיפורים בגרסה הזו.
שרת תהליך יחיד
Edge Microgateway הוא עכשיו שרת תהליך יחיד. הוא כבר לא משתמש במודל של שני תהליכים, שבו תהליך אחד (שנקרא בעבר 'סוכן') מפעיל את Edge Microgateway, התהליך השני. הארכיטקטורה החדשה מאפשרת לבצע אוטומציה ויצירת קונטיינרים בקלות רבה יותר.
קבצי תצורה בתחום שמות
מעכשיו, קבצי התצורה מחולקים למרחבי שמות לפי ארגון וסביבה, כך שאפשר להריץ כמה מכונות של Microgateway באותו מארח. קובצי התצורה נמצאים ב-~/.edgemicro אחרי שמריצים את הפקודה config של Edge Microgateway.
משתני סביבה חדשים
עכשיו יש 4 משתני סביבה: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY ו-EDGEMICRO_SECRET. אם מגדירים את המשתנים האלה במערכת, לא צריך לציין את הערכים שלהם כשמשתמשים בממשק שורת הפקודה (CLI) כדי להגדיר ולהפעיל את Edge Microgateway.
הגדרות שמאוחסנות במטמון
אם Edge Microgateway מופעל מחדש ללא חיבור ל-Apigee Edge, הוא משתמש בקובץ תצורה שנשמר במטמון.
מצב אשכולות
עכשיו יש אפשרויות להפעיל את Edge Microgateway במצב אשכול. מצב אשכולות מאפשר לכם לנצל את היתרונות של מערכות עם כמה ליבות. כדי להשתמש בתכונה הזו, מיקרו-שער משתמש במודול האשכולות של Node.js. פרטים נוספים זמינים במסמכי העזרה של Node.js.
תיקוני באגים בגרסה 2.0.0
מחזור החיים של אירועי הפלאגין מטפל עכשיו כראוי בקוד אסינכרוני שמכיל קוד עם קריאה חוזרת חדשה.
גרסה 1.1.2
Edge Microgateway גרסה 1.1.2 שוחררה ב-14 במרץ 2016.
תכונות חדשות ושיפורים בגרסה 1.1.2
בהמשך מפורטים התכונות החדשות והשיפורים בגרסה הזו.
שיפור הביצועים
Edge Microgateway משתמש עכשיו בסוכנות ה-HTTP של Node.js בצורה תקינה כדי לשפר את מאגר החיבורים. השיפור הזה משפר את הביצועים ואת היציבות הכוללת במצב עומס גבוה.
תמיכה בניתוח באגים מרחוק
אפשר להגדיר את Edge Microgateway כך שיפעל עם מנתח באגים מרחוק, כמו node-inspector.
מיקום חדש של קובץ התצורה
כשמגדירים את Edge Microgateway, הקובץ agent/config/default.yaml
מועתק עכשיו אל ~./edgemicro/config.yaml
.
רוטציה של קובצי יומן
מאפיין תצורה חדש מאפשר לציין מרווח רוטציה ליומני Edge Microgateway.
תיקון באגים בגרסה 1.1.2
באגים הבאים תוקנו בגרסה 1.1.2.
תיאור |
---|
קריאה ל-Java לשרת proxy פנימי של edgemicro שמשמש עם Edge בארגון משתמשת עכשיו בשרת ה-MGMT הנכון. |
מסירים מהסוכן את יחסי התלות של typescript. |
תיקון באג ב-CLI כשמשתמשים באפשרות 'פריסה מצומצמת'. |
תיקון של הפניה לסימן תלות בלוגיקת האישור. |