נתוני גרסה של Edge Microgateway

אתם צופים במסמכי העזרה של 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 הוסר

התמיכה ב-forever-monitor הוסרה מ-Edge Microgateway. אפשר להחליף את forever-monitor ב-PM2. פרטים נוספים זמינים בפוסט הזה בקהילה של Apigee: Edgemicro + PM2: Starting edgemicro as a service.

תוקנו בעיות אבטחה

  • 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 בגרסה 18.17-buster-slim.

תוקנו בעיות אבטחה

ללא.

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 חרק

תוקנה בעיה שבה הפקודה private configure החזירה שגיאה במהלך הניסיון להגדיר ענן פרטי.

233315475 חרק

תוקנה בעיה שבה הפלאגין json2xml החזיר שגיאת ניתוח במהלך הטרנספורמציה של התגובה מ-JSON ל-XML, וגם כשמשתמשים בו בשילוב עם הפלאגין accumulate-response.

221432797 שינוי

גרסה Docker Node.js של קובץ האימג' הבסיסי של Edge Microgateway שודרגה ל-Node.js 14.

215748732 תכונה

נוספה תמיכה באימות של אסימוני SAML לפקודה revokekeys.

עכשיו אפשר להעביר אסימון SAML במקום פרטי כניסה של שם משתמש וסיסמה באמצעות האפשרות -t בפקודה revokekeys.

פרטים נוספים זמינים בחומר העזר בנושא שורת הפקודה.

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 audit fix גורמת לשדרוג של apigeetool לגרסה 0.15.2, שמשפיעה על הפקודה edgemicro upgradeauth.

אם מריצים את npm audit fix ואז את edgemicro upgradeauth, תוצג השגיאה הבאה:

Error: This method has been removed in JSZip 3.0, please check the upgrade guide.

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

npm install apigeetool@0.15.1

הבעיה הזו תטופל בגרסה עתידית של Edge Microgateway.

138622990 תכונה

דגל חדש לפלאגין המכסות, isHTTPStatusTooManyRequestEnabled, מגדיר את הפלאגין להחזרת סטטוס תגובה HTTP 429 במקום סטטוס 403 אם יש הפרה של מכסה. אפשרויות הגדרה למכסות

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 תכונה

מאפיין התצורה disableStrictLogFile מאפשר להקל על ההרשאות הקפדניות של הקבצים בקובץ יומן האפליקציה api-log.log. פרטים נוספים זמינים במאמר איך להקל על ההרשאות של קובצי יומן.

192799989 תכונה

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

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 שינוי

הערך של expires_in השתנה ממחרוזת למספר שלם

ממשקי ה-API של בקשת הטוקן ושל בקשת הטוקן לרענון מחזירים עכשיו את הערך expires_in כערך שלם שמצוין בשניות.

כדי לעמוד בדרישות של RFC 6749 OAuth 2.0 Authorization Framework הועברו את הערך הצפוי של פרמטר ההגדרה expires_in ממחרוזה למספר שלם. פרטים נוספים זמינים במאמר חומר עזר בנושא הפעלה והגדרה.

188492065 שינוי סיום התמיכה ב-Node.js 8

החל מהגרסה 3.2.2, לא תהיה יותר תמיכה ב-Node.js 8. למידע נוסף, ראו תוכנות וגרסאות נתמכות: Edge Microgateway.

183990345 תכונה הגדרת פלט יומן לקונטיינר Docker

פרמטר התצורה to_console ב-Edge Microgateway מאפשר לבחור אם לשלוח את נתוני היומן לפלט הרגיל במקום לקובץ יומן. אם פועלים לפי השלבים להרצת Edge Microgateway בקונטיינר ב-Docker, כברירת מחדל המערכת מפנה את הפלט של stdout ואת הפלט של השגיאות לקובץ שנמצא בקונטיינר במיקום: ${APIGEE_ROOT}/logs/edgemicro.log.

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

לפרטים על השימוש במשתנה החדש הזה, ראו שימוש ב-Docker ל-Edge Microgateway.

183057665 תכונה אפשר להגדיר את נתיבי הקבצים edgemicro.pid ו-edgemicro.sock.

הפרמטר החדש -w, --workdir להרצת קונטיינר Docker עם Edge Microgateway מאפשר לציין את הנתיב לספרייה שבה צריך ליצור את הקבצים edgemicro.sock ו-edgemicro.pid בקונטיינר Docker. שימוש ב-Docker ל-Edge Microgateway

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 ב-jwkPublicKeys.

הערה: כדי לבצע את התיקון הזה, צריך לשדרג את שרת ה-proxy edgemicro-auth.

179971737 חרק תוקנה בעיה שבה תגובות סטטוס יעד מסוג 4XX או 5XX נרשמו ביומן כשגיאות שרת proxy עבור שרתים מסוג edgemicro_*.

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

179674670 תכונה נוספה תכונה חדשה שמאפשרת לסנן את רשימת מוצרי ה-API שמוטמעים ב-JWT על סמך קודי סטטוס המוצר.

למוצרי API יש שלושה קודי סטטוס: 'בהמתנה', 'אושר' ו'בוטל'. נכס חדש בשם allowProductStatus נוסף למדיניות Set JWT Variables בשרת proxy‏ edgemicro-auth. כדי להשתמש במאפיין הזה כדי לסנן מוצרים של ממשקי API שמפורטים ב-JWT:

  1. פותחים את שרת ה-proxy edgemicro-auth בעורך שרת ה-proxy של Apigee.
  2. מוסיפים את המאפיין allowProductStatus ל-XML של המדיניות SetJWTVariables ומציינים רשימה של קודי סטטוס מופרדים בפסיקים לסינון. לדוגמה, כדי לסנן לפי הסטטוסים Pending ו-Revoked:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript timeLimit="20000" async="false" continueOnError="false"
        enabled="true" name="Set-JWT-Variables">
        <DisplayName>Set JWT Variables</DisplayName>
        <FaultRules/>
        <Properties>
            <Property name="allowProductStatus">Pending,Revoked</Property>
        </Properties>
        <ResourceURL>jsc://set-jwt-variables.js</ResourceURL>
    </Javascript>
    
    

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

    <Property name="allowProductStatus">Approved</Property>
  3. שומרים את שרת ה-proxy.

    אם התג Property לא קיים, המוצרים עם כל קודי הסטטוס יופיעו ב-JWT.

    כדי להשתמש בנכס החדש הזה, צריך לשדרג את שרת ה-proxy edgemicro-auth.

178423436 חרק ערכים של מפתחות וסודות שמועברים ב-CLI או דרך משתני סביבה גלויים בארגומנטים של שורת הפקודה של Process Explorer.

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

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

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

178341593 חרק תוקנה שגיאה במסמכי התיעוד של הפלאגין apikeys.

קובץ ה-README של הפלאגין apikeys כלל באופן שגוי מאפיין gracePeriod. הסרנו את המאפיין הזה ואת התיאור שלו מהקובץ README.

המאפיין gracePeriod מוטמע בפלאגין oauth. כדי להשתמש בתכונה של תקופת החסד, צריך להשתמש בפלאגין oauth.

179366445 חרק טופלה בעיה שבה עומס העבודה (payload) לא הועבר בכל בקשות ה-GET ליעד.

אפשר לשלוט בהתנהגות הרצויה באמצעות פרמטר תצורה חדש, edgemicro: enable_GET_req_body. כשהערך מוגדר ל-true, כותרת הבקשה transfer-encoding: chunked מתווספת לכל בקשות ה-GET, ועומס שימושי של GET, אם קיים, נשלח ליעד. אם הערך הוא false (ברירת המחדל), עומס העבודה יוסר בשקט לפני שהבקשה תישלח ליעד.

לדוגמה:

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.

תוקנה בעיה שבה נקודת הקצה /token בשרת ה-proxy edgemicro-auth החזירה את הערך expires_in במילישניות. עם זאת, בהתאם למפרט של OAuth, הערך צריך להיות תואם ליחידת הזמן של refresh_token_expires_in, שהיא שניות.

התיקון לא משנה את משך זמן התפוגה, אלא רק את יחידת הזמן. היא חלה רק על השדה expires_in בתוכן התגובה של אסימון הגישה. אסימון ה-JWT באותו מטען ייעודי בתגובה יכיל שני שדות, iat ו-exp, והם נוצרים בצורה נכונה, תמיד, עם יחידת הזמן seconds.

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

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

173064680 חרק תוקנה בעיה שבה המיקרו-שער סיים את בקשת היעד לפני שכל קטעי הנתונים עברו עיבוד.

זוהי בעיה זמנית שנצפתה בבקשות עם עומס נתונים גבוה, והיא נכנסה לתוקף בגרסה 3.1.7.

174640712 חרק הוספת טיפול נכון בנתונים לפלאגינים

נוספה טיפול נכון בנתונים לפלאגינים הבאים: json2xml,‏ accumulate-request,‏ accumulate-response ו-header-uppercase. פרטים על הפלאגין זמינים במאמר microgateway-plugins.

גרסה 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 חרק ערכים מספריים ובוליאניים נותחו בצורה שגויה בתגי משתני הסביבה.

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

169202749 חרק החלפת משתני סביבה לא פעלה במקרים מסוימים.

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

168732942 חרק תוקנה בעיה שבה היקפי OAuth לא הגבילו את הגישה של שרת proxy ל-API כצפוי.

תהליך /token בשרת ה-proxy edgemicro-auth יצר אסימוני JWT ללא היקפי המוצר הנכונים שהוגדרו ב-Edge, כתוצאה משני תרחישים שונים: 1) נתוני העומס של הבקשה לתהליך /token לא העבירו פרמטר היקף, או 2) היקף לא חוקי הועבר בנתוני העומס של הבקשה לתהליך /token. תוקנה בעיה שחלה על החזרת כל ההיקפים שהוגדרו במוצרי API ב-Apigee Edge.

170609716 חרק תוקנה בעיה שבה תהליך /refresh בשרת ה-proxy של edgemicro-auth יצר JWT ללא apiProductList.

170708611 חרק היקפי מוצרים של API לא זמינים לפלאגינים מותאמים אישית.

היקפי המוצרים של ה-API לא היו זמינים לפלאגינים מותאמים אישית, ולא נכתבו בקובץ התצורה של המטמון. במאמר מידע על הפונקציה init() של הפלאגין מוסבר איך מאפשרים לפלאגינים לגשת לפרטים ברמת ההיקף.

169810710 תכונה המפתח והסוד נשמרים בקובץ התצורה של המטמון.

המפתח והסוד של Edge Microgateway נשמרו בקובץ ה-YAML של תצורת המטמון בכל הפעלה מחדש או טעינה מחדש. בגרסה 3.1.8, המפתח והסוד כבר לא נשמרים בקובץ התצורה של המטמון. אם המפתח והסוד נכתבו בעבר בקובץ התצורה של המטמון, הם יוסרו.

170708621 תכונה לא ניתן להשבית את פלאגין Analytics.

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

159571119 חרק מתקבלת שגיאת null ב-hook של onerror_request בפלאגינים מותאמים אישית לתפוגת הזמן של התגובה/השקע.

בוצעו תיקונים כדי לאכלס את קוד הסטטוס והודעת השגיאה הנכונים של HTTP באירועים מסוג onerror_request, ואת הודעת השגיאה הנכונה באירועים מסוג onerror_response.

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' בצורה נכונה.

עכשיו, המיקרו-שער מעבד את הקטע 'דחייה' בצורה תקינה ופועל בהתאם לסדר של הקטעים 'הרשאה' ו'דחייה'. נכס noRuleMatchAction חדש נוסף לקובץ התצורה של המיקרו-שער כדי לספק תאימות למדיניות הבקרה על הגישה של Apigee Edge. אפשר לעיין גם בקובץ README של הפלאגין לבקרת גישה ב-GitHub.

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 מוגדר עם נתיב הבסיס: /hello/v1 ונתיב יעד ל-https://mocktarget.apigee.net. עכשיו נניח ששרת ה-proxy מקבל את הבקשות הבאות:

נתיב הבקשה נתיב מותאם תוצאה
/hello/v1/json https://mocktarget.apigee.net/json הנתיב המפוענח נכון כי יש התאמה נכונה לנתיב הבסיס של /hello/v1.
נתיב הבקשה נתיב מותאם תוצאה
‎/hello/v1json https://mocktarget.apigee.netjson הנתיב המפוענח שגוי כי /hello/v1 הוא מחרוזת משנה של /hello/v1json. מכיוון שהנתיב /hello/v1json לא תקין, Edge Microgateway היה אמור להחזיר שגיאת 404. בגרסה 3.1.6 ואילך, מתקבלת שגיאה 404 במקרה כזה.
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.
  • 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/**, עליכם לוודא ששרת ה-proxy edgemicro_auth מתווסף למוצר API עצמאי. לאחר מכן, צריך לכלול את המוצר הזה באפליקציית הפיתוח של שרת ה-proxy, כפי שמתואר בצילום המסך הבא:

    alt_text

    הערה: אין תמיכה בנכס התצורה 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 הישן במטמון.

    כדי להגדיר את התכונה החדשה 'כישלון פתוח':

    1. מגדירים את המאפיינים הבאים בפסקה 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. מגדירים את מאפיין התצורה הזה אם רוצים לנהל את המכסות דרך שרת ה-proxy edgemicro-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 – הפלט של היומן הוגדר כסטנדרטי לכל ההצהרות ביומן המסוף. הצהרות הרישום ביומן של מסוף עכשיו כוללות את המאפיינים הבאים:
    • חותמת זמן
    • שם הרכיב
    • מזהה תהליך
    • הודעה ביומן של מסוף
שיפורים בהודעות ביומן של מפתחות וסודות JWT
  • 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, --actionstart או 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 כשמשתמשים באפשרות 'פריסה מצומצמת'.
תיקון של הפניה לסימן תלות בלוגיקת האישור.