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

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

גרסה 3.3.x

תיקוני באגים ושיפורים גרסה 3.3.x

3.3.2

ב-18 באוגוסט 2023 השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין 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 ליבה config יישומי פלאגין edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

תיקוני באגים ושיפורים:

מזהה הבעיה סוג תיאור
220885293 התכונה

Node.js בגרסה 16 נתמכת עכשיו.

231972608 חרק

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

233315475 חרק

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

221432797 שינוי

גרסת Docker Node.js של תמונת הבסיס של Edge Microgateway שודרגה ל-Node.js 14.

215748732 התכונה

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

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

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

218723889 עדכון מסמך

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

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

מזהה הבעיה תיאור
CVE-2021-23413 המדיניות הזו משפיעה על חבילת jszip לפני 3.7.0. יצירה של קובץ ZIP חדש עם שמות קבצים שמוגדרים לערכי אב-טיפוס של אובייקט (למשל proto , toString וכו') תוביל לאובייקט מוחזר עם מופע אב-טיפוס שעבר שינוי.

3.3.0

ב-4 בפברואר 2022 השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

תיקוני באגים ושיפורים:

מזהה הבעיה סוג תיאור
219556824 בעיה ידועה Edge Microgateway Gateway 3.3.0 לא תואם לפקודה npm ביקורת תיקון.

הרצה של 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 analytics לא תאם לקוד התגובה של Edge Microgateway.

198986036 שיפור Edge Microgateway מאחזר עכשיו את המפתח הציבורי של ספק זהויות (IDP) בכל מרווח בסקרים, וגם מעדכן את המפתח במקרה שהמפתח הציבורי של ה-IdP ישתנה. בעבר, הפלאגין extauth לא הצליח לעדכן את המפתח הציבורי בלי לטעון מחדש את Edge Microgateway אם המפתח הציבורי של IdP השתנה.
168713541 חרק

המסמכים שופרו כדי להסביר איך להגדיר TLS/SSL ליעדים מרובים. ראה שימוש באפשרויות SSL/TLS של לקוח.

171538483 חרק

התיעוד שונה כדי לתקן את המוסכמת למתן שמות לקובצי יומן. למידע נוסף, ראו מוסכמות מתן שמות לקובצי יומן.

157908466 חרק

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

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

גרסה 3.2.x

תיקוני באגים ושיפורים גרסה 3.2.x

3.2.3

ב-17 בספטמבר 2021 השקנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין 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 רכיבי ההעתקה של החבילה לפני 2.0.5 פגיעים לזיהום אב-טיפוס באמצעות הפונקציונליות העיקרית.
CVE-2021-23343 כל הגרסאות של ניתוח הנתיב של חבילה חשופות למקרים של מניעת שירות (ReDoS) מסוג regular Expression Deni of Service (ReDoS) דרך SplitDeviceRe, SplitTailRe ו-SplitPathRe ביטויים רגולריים. ReDoS מציג את סיבוכיות הזמן הגרועה ביותר של פולינום.

3.2.2

ביום חמישי, 15 ביולי 2021, השקנו את התיקונים והשיפורים הבאים ל-Edge Microgateway.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

תיקוני באגים ושיפורים:

מזהה הבעיה סוג תיאור
185323500 שינוי

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

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

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

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

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

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

פרמטר התצורה של Edge Microgateway to_console מאפשר לשלוח את פרטי היומן לפלט רגיל במקום לקובץ יומן. אם פועלים לפי השלבים להרצת 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 ב-Node.js Mixme, לפני v0.5.1, תוקף יכול להוסיף או לשנות מאפיינים של אובייקט דרך '__proto__' דרך הפונקציות mutate() ו-Merge() . המאפיין המזוהם יוקצה ישירות לכל אובייקט בתוכנית. המצב הזה יסכן את הזמינות של התוכנית ויגרום להתקפת מניעת שירות (DoS).
CVE-2021-30246 בחבילת jsrsasign עד 10.1.13 ל-Node.js, חתימות לא חוקיות של RSA PKCS#1 מגרסה 1.5 מזוהות בטעות כתקינות. הערה: לא קיימת מתקפה מעשית ידועה.
CVE-2021-23358 קו תחתון של החבילה מ-1.13.0-0 ולפני 1.13.0-2, מ-1.3.2 ולפני 1.12.1 חשופים להזרקת קוד שרירותית דרך פונקציית התבנית, בייחוד כאשר מאפיין משתנה מועבר כארגומנט מכיוון שהוא לא עובר ניקוי.
CVE-2021-29469 Node-redis הוא לקוח Node.js Redis. לפני גרסה 3.1.1, כשהלקוח נמצא במצב מעקב, הביטוי הרגולרי (regex) משמש לזיהוי הודעות מעקב שזוהו יכול לגרום ל-backtracking אקספוננציאלי במחרוזות מסוימות. הבעיה הזו עלולה להוביל להתקפת מניעת שירות (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 ליבה config יישומי פלאגין 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 בשרתי proxy מסוג edgemicro_*.

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

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

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

  1. פותחים את שרת ה-Proxy מסוג edgemicro-auth בעורך ה-proxy של Apigee.
  2. מוסיפים את המאפיין allowProductStatus ל-XML של המדיניות SetJWTVariables ומציינים רשימה של קודי סטטוס שמופרדים בפסיקים שלפיהם יתבצע הסינון. לדוגמה, כדי לסנן לפי הסטטוס Pending (בהמתנה) וCanceld (בוטל):
    <?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 או דרך משתני סביבה גלויים בארגומנטים של שורת הפקודה של סייר התהליכים.

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

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

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

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

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

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

179366445 חרק טיפלנו בבעיה שגרמה לירידה במטען הייעודי (payload) של כל בקשות ה-GET ליעדים.

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

לדוגמה:

edgemicro:
 enable_GET_req_body: true

לפי RFC 7231, סעיף 4.3.1: GET, למטען הייעודי (payload) של בקשת GET אין סמנטיקה מוגדרת, ולכן ניתן לשלוח אותו ליעד.

3.2.0

ביום חמישי, 21 בינואר 2021, השקנו את התיקונים והשיפורים הבאים ל-Edge Microgateway.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין 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 יהיה זמין ליישומי פלאגין משניים.
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 במטען הייעודי (payload) של אסימון הגישה. אסימון ה-JWT באותו מטען ייעודי (payload) של תגובה יכיל שני שדות, iat ו-exp. הם נוצרים כראוי ותמיד היו, עם יחידת הזמן seconds.

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

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

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

זוהי בעיה זמנית שנצפתה בבקשות גדולות של מטען ייעודי (payload) , שהבעיה התגלתה בגרסה 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 ליבה config יישומי פלאגין 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) המטען הייעודי (payload) של הבקשה לתהליך /token לא העבירה פרמטר של היקף, או 2) היקף לא חוקי הועבר במטען הייעודי (payload) של הבקשה לזרימה של /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.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

תיקוני באגים ושיפורים:

מזהה הבעיה סוג תיאור
131708105 חרק הפלאגין analytics טיפל באופן שגוי בתגובה ריקה מקריאות 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'.

המיקרו-שער מעבד עכשיו את קטע הדחייה כראוי ומכבד את הסדר של קטעי 'allow' ו-'deny'. מאפיין noRuleMatchAction חדש נוסף לקובץ התצורה של microgateway כדי לספק שוויון למדיניות AccessControl של Apigee Edge. למידע נוסף, ראו Access Control Plugin README ב-GitHub.

3.1.6

ביום חמישי, 20 באוגוסט 2020, השקנו את התיקונים והשיפורים הבאים ל-Edge Microgateway.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

תיקוני באגים ושיפורים:

מזהה הבעיה סוג תיאור
163711992 התכונה אפשרויות מיקום של מפתח מותאם אישית וקובץ אישור לפקודה rotkey.

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

154838259 חרק תיקון של רוטציית מפתחות למכונות מרובות במרכזי נתונים מרובים

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

145525133 תכונת אלפא מדדים חדשים של יישומי פלאגין

פרטים נוספים זמינים ב מדדים החדשים של יישומי הפלאגין ב-README ב-GitHub.

159396879 חרק הסרת חבילה שאינה בשימוש המסייע
161092943 חרק אימות הנתיב הבסיסי שגוי

לפני גרסה 3.1.6, ה-Basepath של שרת ה-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 ליבה config יישומי פלאגין edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

תיקוני באגים ושיפורים:

מזהה הבעיה סוג תיאור
159210507 התכונה הגדרה שלא כוללת עיבוד של יישומי פלאגין

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

156986819, 158529319 חרק בעיות בפלאגין json2xml תוקנו

תוקנו בעיות שבהן הפלאגין יצר כותרות Content-Type כפולות, ובמקרים מסוימים, כותרות שלא נשלחו ליעד כמצופה.

156560067, 159688634 התכונה

שימוש בערכים של משתני סביבה בהגדרות האישיות

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

155077210 חרק פתרנו את הבעיה בפורמט של היומן.

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

153673257 חרק

(Edge for Private Cloud בלבד) מוצרים בעלי מודעות מיקרו-שער לא נשלפו

תוקנה בעיה שבה מוצרים בעלי מוּדעוּת למיקרו-שער לא נשלפו. הבעיה קיימת ב-Edge רק להתקנות של ענן פרטי.

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.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

תיקוני באגים ושיפורים:

  • 153509313 – תוקנה בעיה שבה מודול ניפוי הבאגים של Node.js גרם לדליפות זיכרון. הבעיה קיימת בגרסאות 3.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.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

תיקוני באגים ושיפורים:

  • 151285018 – בוצע שיפור של תכונה כדי להוסיף תמיכה בשרת ה-HTTP proxy לתעבורה בין יעדי 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 ליבה config יישומי פלאגין 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

    באופן פנימי, הפרמטר מגדיר את מאפיין Node.js Server.headersTimeout בבקשות. (ברירת המחדל: 5 שניות יותר מהזמן שמוגדר ב-edgemicro.keep_alive_timeout. הגדרת ברירת המחדל הזו מונעת ממאזני עומסים או משרתי Proxy להפיל בטעות את החיבור.)

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

    אם מגדירים את המאפיין TargetEndpoint io.timeout.millis בשרת ה-API של ה-API, Edge Microgateway יוכל לאחזר את המאפיין הזה ולהחיל זמנים קצובים לתפוגה שספציפיים ליעד. אם הפרמטר הזה לא מיושם, Edge Microgateway משתמש בזמן הקצוב לתפוגה הגלובלי שצוין ב-edgemicro.request_timeout.

3.1.0

ביום שלישי, 21 בינואר, פרסמנו את התיקונים והשיפורים הבאים ב-Edge Microgateway.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין 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 שנשלחות אל המיקרו-שער.
  • 146378327 – רמת היומן של sourceRequest, targetRequest ו-targetResponse השתנתה לרמת 'מידע'.
  • 146019878 – תוקנה אי-התאמה בין זמן האחזור שחושב ל-'API Proxy Performance' ב-Edge analytics ובאירועי היומן של Edge Microgateway sourceResponse/targetResponse. עכשיו, זמן האחזור ב-Edge analytics ובאירועי היומן של 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.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין 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 ליבה config יישומי פלאגין 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 ליבה config יישומי פלאגין edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

תיקוני באגים ושיפורים:

  • 140025210 - נוספה תכונה חדשה מסוג 'fail open'. התכונה הזו מאפשרת להמשיך את עיבוד ה-API אם לא ניתן לרענן אסימון JWT שפג תוקפו עקב שגיאת חיבור שמונעת קריאה מוצלחת לאימות מפתח API לשרת ה-proxy של edgemicro-auth.

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

3.0.7

ביום חמישי, 12 בספטמבר, פרסמנו את התיקונים והשיפורים הבאים ל-Edge Microgateway.

גרסאות רכיב:

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

microgateway ליבה config יישומי פלאגין 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 – נוספה כותרת הרשאה לקריאות למכסה כדי לספק אימות. בנוסף, שרת ה-Proxy של edgemicro-auth השתנה כדי להסיר את 'ארגון' ממזהה המכסה. מאחר שנקודת הקצה של המכסה נמצאת בארגון של הלקוח, אין יותר צורך במזהה המכסה.
  • 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, דוח הקריסות לא יודפס ביומנים.

3.0.5

ביום חמישי, 15 באוגוסט, פרסמנו את התיקונים והשיפורים הבאים ל-Edge Microgateway.

הבאגים תוקנו
  • 139005279 - תוקנה בעיה שבה הפקודה edgemicro status לא החזירה את המספר הנכון של תהליכי worker.
  • 138437710 - תוקנה בעיה במחלקה ExitCounter שמנעה את כתיבת היומן הנכון.
שיפורים כלליים בהודעות היומן
  • 139064652 – נוספה היכולת להוסיף רמות רישום ביומן trace ו-debug עבור יומני אירועים ויומני מערכת. בשלב זה, נוספה רק היכולת להוסיף את רמות היומן האלה. נכון לעכשיו, רמות היומן הזמינות הן info, warn ו-error.
  • 139064616 – פלט היומן תוקן לכל הצהרות היומן במסוף. עכשיו הצהרות רישום ביומן במסוף כוללות את המאפיינים האלה:
    • חותמת זמן
    • שם הרכיב
    • מזהה תהליך
    • הודעה ביומן המסוף
שיפורים במפתח JWT ובהודעות יומן סודיות
  • 138413755 – שיפור של מפתח JWT והודעות יומן שקשורות לסודות בפקודות ה-CLI האלה: cert, verification, updatekvm, Token, genkeys, blockedkeys, roundkey, ו-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 של הלקוח.
    • מזהה לקוח.
    • מזהה ההתאמה (לא מוגדר כרגע).
    • שם רכיב 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. כדאי לעיין בהתחייבויות ל-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 במהלך טעינה מחדש בעומס
  • 134518428 – נקודת הקצה של המוצרים עבור Edge Microgateway מחזירה את הערך 5XX אם דפוס המסנן שגוי
  • 135113408 - עובדים צריכים להתחיל מחדש אם הם מסתיימים באופן בלתי צפוי
  • 134945852 – אסימוןCacheSize לא נמצא בשימוש בפלאגין oauth
  • 134947757 - הגדרתcacheTTL בפלאגין של oauth
  • 135445171 – חישוב תקופת החסד ב-OAuth שגוי
  • שימוש במודול עם תזכורות שכלולות בהתקנת Edge Microgateway
  • 135367906 – ביקורת אבטחה

גרסה 2.5.x

תכונות ושיפורים חדשים גרסה v.2.5.x

(קבוע 2.5.38 ב-07.06.2019)

אסימוני JWT בפורמט לא תקין עלולים לגרום לקריסה של עובדים כשהם משתמשים במטמון של אסימון. קבוע במודול המיקרו-גייטוויי של Edge. (b/134672029)

(נוספה 2.5.37) מוסיפים את אפשרות ה-CLI edgemicro-cert -t.

בעזרת האפשרות 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

נוסף ממשק API חדש מסוג edgemicro-auth/token שמאפשר להעביר את הלקוח/הסוד ככותרת הרשאה בסיסית בקידוד Base64 ואת ה-Grant_type כפרמטר של הטופס. אפשר לקרוא מידע נוסף בקטע קבלת אסימונים למוכ"ז באופן ישיר.

(תוקן 2.5.31) ההגדרה הפרטית לא מתייחסת לסימון אסימונים

תוקנה בעיה במהלך ההגדרה של Edge Microgateway לשימוש באסימון גישה מסוג OAuth2 ב-Edge עבור ענן פרטי, אבל לא הצלחנו להגדיר את האסימון).

Docker: תמיכה בשימוש באישורים בחתימה עצמית

(נוסף 2.5.29) אם משתמשים ברשות אישורים (CA) שאינה מהימנה כברירת מחדל על ידי Node.js, תוכלו להשתמש בפרמטר NODE_EXTRA_CA_CERTS בהרצת קונטיינר של Docker עם Edge Microgateway. לפרטים, ראה שימוש ברשות אישורים שאינה מהימנה על ידי Node.js.

Docker: תמיכה ב-TLS

(נוסף 2.5.29) Edge Microgateway שפועל בקונטיינר Docker תומך עכשיו ב-TLS עבור בקשות נכנסות לשרת Edge Microgateway (בקשות Northbound) ועבור בקשות יוצאות מ-Edge Microgateway לאפליקציית יעד (בקשות החוצה).

הדוגמאות הבאות מסבירות בפירוט כיצד להגדיר את התצורות האלו של TLS:

בדוגמאות האלה תראו איך להשתמש בנקודת הטעינה של הקונטיינר /opt/apigee/.edgemicro כדי לטעון את האישורים, שאליהם מופנים לאחר מכן בקובץ התצורה של Edge Microgateway.

Docker: תמיכה בבקשות לשרת proxy

(נוסף 2.5.27) אם מפעילים את Edge Microgateway בקונטיינר Docker, אפשר להשתמש באפשרויות הבאות כדי לשלוט בהתנהגות של שרת ה-proxy כשהמיקרו-שער פועל מאחורי חומת אש:

  • 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) דגלים חדשים בפלאגין של Analytics מאפשרים לך להפריד נתיב API ספציפי כך שהוא יופיע כשרת proxy נפרד במרכזי השליטה של Edge Analytics. לדוגמה, אפשר להפריד בין ממשקי ה-API לבדיקת תקינות כדי למנוע בלבול עם קריאות בפועל ל-API. מידע נוסף זמין במאמר החרגה של נתיבים מ-Analytics.

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

תמיכה באפשרות של צומתי TCP

(נוספה 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 חדשות למעקב של Forever

(נוסף 2.5.12) פרמטרים חדשים נוספו לפקודה edgemicro forever. הפרמטרים האלה מאפשרים לציין את מיקום הקובץ forever.json, ולהתחיל או להפסיק את תהליך הרקע של Forver. למידע נוסף, כדאי לעיין גם בקטע מעקב לתמיד

פרמטרתיאור
-f, --fileמציין את מיקום הקובץ forever.json.
-a, --actionstart או stop. ברירת המחדל היא להתחיל.

דוגמאות:

כדי להתחיל לתמיד:

edgemicro forever -f ~/mydir/forever.json -a start

כדי להפסיק לתמיד:

edgemicro forever -a stop

רוטציית מפתחות JWT

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

סינון שרתי proxy של API שהורדו

כברירת מחדל, Edge Microgateway מוריד את כל שרתי ה-proxy של ארגון Edge שלך שמתחילים בקידומת השם "edgemicro_". אפשר לשנות את ברירת המחדל כדי להוריד שרתי proxy שהשמות שלהם תואמים לתבנית מסוימת. למידע נוסף, אפשר לקרוא את המאמר סינון שרתי proxy שהורדו.

ציון מוצרים ללא שרתי proxy ל-API

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

תמיכה במעקב ללא הפסקה

Edge Microgateway כולל קובץ forever.json שאפשר להגדיר כדי לקבוע כמה פעמים ובאילו מרווחי הזמן יש להפעיל מחדש את Edge Microgateway. בקובץ הזה מוגדר שירות בשם 'מעקב תמידי', שמנהל את Forever באופן פרוגרמטי. למידע נוסף, אפשר לקרוא את המאמר מעקב לתמיד.

ניהול מרכזי של קובץ התצורה של Edge Micro

אם אתם מפעילים כמה מכונות של Edge Microgateway, יכול להיות שתרצו לנהל את ההגדרות שלהן ממקום אחד. כדי לעשות זאת, צריך לציין נקודת קצה (endpoint) ב-HTTP שאליה אפשר להוריד את קובץ התצורה של Edge Micro. למידע נוסף, ראו ציון נקודת קצה (endpoint) של קובץ config.

תמיכה באפשרות של CLI ללא הגבלה

(נוסף 2.5.8) משתמשים בפקודה edgemicro forever [package.json] כדי לציין את המיקום של הקובץ forever.json. לפני הוספת הפקודה הזו, קובץ התצורה צריך להיות בספריית השורש של Edge Microgateway.

לדוגמה:

edgemicro forever ~/mydir/forever.json

הוספת האפשרות configUrl כדי לטעון מחדש את הפקודה

(נוספה 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) שגיאה לא חוקית מסוג "מאובטח" של מארח וירטואלי בעת שימוש באפשרות -v. התיקון הזה משנה את שרת ה-proxy מסוג edgemicro-auth לפני הפריסה, כדי להבטיח שהמארחים הווירטואליים יתאימו בדיוק למה שצוין בסימון ' -v'. בנוסף, אפשר לציין כל מספר של מארח וירטואלי, או שם כלשהו (כבר לא מוגבל לברירת מחדל ומאובטחת).
  • (בעיה מס' 141) הפקודה edgemicro load לא תומכת באפשרות -c של קובץ התצורה. כבר פתרנו את הבעיה הזו.
  • (גיליון מס' 142) Edge Microgateway מתלונן על קריפטו שהוצא משימוש בזמן ההתקנה. כבר פתרנו את הבעיה הזו.
  • (גיליון מס' 145) המכסה לא פועלת עם Edge Microgateway. כבר פתרנו את הבעיה הזו.
  • (בעיה מהקהילה ב-Apigee: https://community.apigee.com/Questions/33149/emg-jwt-token-validated- Against- ההרשמה-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 אינו מוגדר.
  • (בעיה מס' 169) עדכון יחסי תלות של Node.js (ביקורת npm)
  • שרת ה-proxy של edgemicro-auth משתמש עכשיו במדיניות JWT של Edge. שרת ה-proxy לא תלוי יותר ב-Node.js כדי לספק תמיכה ב-JWT.

גרסה 2.4.x

תכונות חדשות ושיפורים גרסה v.2.4.x

1. הגדרה של כינוי מותאם אישית לשרת proxy ל-edgemicro-auth (PR 116)

אפשר לשנות את נתיב הבסיס שמוגדר כברירת מחדל לשרת ה-proxy של edgemicro-auth. כברירת מחדל, הנתיב הבסיסי הוא /edgemicro-auth. כדי לשנות אותו, משתמשים בדגל -x בפקודה -x.

דוגמה:

edgemicro configure -x /mypath …


2. תמיכה בתווים כלליים לחיפוש בנתיבים בסיסיים (PR 77)

אפשר להשתמש בתו כללי לחיפוש "*" אחד או יותר בנתיב הבסיס של שרת proxy edgemicro_*. לדוגמה, נתיב בסיסי של /team/*/members מאפשר ללקוחות להפעיל את https://[host]/team/blue/members ואת https://[host]/team/green/members בלי שיהיה צורך ליצור שרתי proxy חדשים ל-API כדי לתמוך בצוותים חדשים. לתשומת ליבכם: /**/ לא נתמך.

חשוב: ב-Apigee אין תמיכה בשימוש בתו כללי לחיפוש "*" בתור הרכיב הראשון של נתיב בסיסי. לדוגמה, ערך זה אינו נתמך: /*/search.

3. נוסף נתיב הגדרה בהתאמה אישית ל-CLI להגדרת ענן פרטי (PR 99)

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

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: true

כשהערך של proxy_tunnel הוא true, Edge Microgateway משתמש בשיטת HTTP CONNECT כדי לנתב בקשות HTTP בחיבור TCP יחיד. (כך גם אם משתני הסביבה להגדרת שרת ה-proxy מופעלים באמצעות TLS).

אפשרות 2:

האפשרות השנייה היא לציין שרת Proxy ולהגדיר את proxy_tunnel כ-false בקובץ התצורה של ה-microgateway. לדוגמה:

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 כרשימה מופרדת בפסיקים של דומיינים שאליהם Edge Microgateway לא אמור לשמש כשרת proxy. לדוגמה:

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 ל-analytics

אם הכותרת X-Forwarded-For תגדיר את המשתנה client_ip שמדווח ב-Edge Analytics. התכונה הזו מאפשרת לדעת מהי כתובת ה-IP של הלקוח ששלח את הבקשה ל-Edge Microgateway.

8. שינויים בפלאגין OAuth

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

יישומי הפלאגין של OAuth מוסיפים שני סימונים חדשים:

  • allowOAuthOnly – אם המדיניות מוגדרת כ-true, לכל ממשק API חייבת להיות כותרת Authorization עם אסימון גישה למוכ"ז.

  • 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 configuration:

-t, --token <token>

לדוגמה:

edgemicro configure -o docs -e test -t <your token>

באגים בגרסה 2.4.3

  • תוקנה בעיה שבה ארגון בתשלום היה נדרש כדי להפעיל כראוי את שרת ה-proxy של אימות קצה. עכשיו אפשר להשתמש ב-Edge Microgateway גם לארגונים לתקופת ניסיון. (PR 5)
  • תוקנה בעיה שבה מקור הנתונים לא סיים לעבד נתונים אבל רכיבי ה-handler של הסיום הופעלו בכל זאת. הדבר גרם לשליחת תגובה חלקית. (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 שהמיקרו-שער יעבד. לדוגמה, ההגדרה הזו מגבילה את שרתי ה-proxy שהמיקרו-שער יעבד לשלושה: edgemicro_proxy-1, edgemicro_proxy-2 ו-edgemicro_proxy-3:

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

אנונימיזציה של נתונים ב-Analytics

הגדרה חדשה מאפשרת למנוע הצגה של מידע על נתיב הבקשה ב-Edge Analytics. מוסיפים את הקוד הבא לתצורת המיקרו-שער כדי לבצע אנונימיזציה של ה-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 התומכים במיקרו-שער וכו') וגם שינויים שבוצעו בקובץ התצורה המקומי. ברירת המחדל לתשאול הוא 600 שניות (חמש דקות).

שכתוב של כתובות יעד ביישומי פלאגין

אפשר לבטל את כתובת ה-URL של יעד שמוגדרת כברירת מחדל באופן דינמי בפלאגין על ידי שינוי המשתנים הבאים בקוד הפלאגין: req.targetHostname ו-req.targetPath.

חתימה חדשה על פונקציית הפלאגין

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

function(sourceRequest, sourceResponse, targetResponse, data, cb)

פלט פשוט יותר של הרישום ביומן

כברירת מחדל, שירות הרישום ביומן משמיט כעת את ה-JSON של שרתי proxy, מוצרים ו-JWT שהורדו. אפשר לשנות את ההגדרה לפלט של האובייקטים האלה כברירת מחדל על ידי הגדרת DEBUG=* כשמפעילים את Edge Microgateway. לדוגמה:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

נתיב התצורה בהתאמה אישית נוסף ל-CLI

כברירת מחדל, קובץ התצורה של המיקרו-גייטוויי נמצא ב- ./config/config.yaml. בפקודות האתחול, ההגדרה וההפעלה, מעכשיו תוכלו לציין נתיב config מותאם אישית בשורת הפקודה. לדוגמה:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

באגים בגרסה 2.3.3

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

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

edge micro:
proxies:
    - edgemicro_[name]
    - edgemicro_[name]
    ...

לדוגמה, נניח שיש לכם 50 שרתי proxy של edgemicro_* בארגון או בסביבת Edge, כולל שרתי proxy בשם edgemicro_foo ו-edgemicro_bar. אפשר להנחות את המיקרו-גייט להשתמש רק בשני שרתי ה-proxy האלה באופן הבא:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

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

  };

}

אם הבקשה לא כוללת נתונים, אפשר להגדיר כותרות יעד ב-handler של onrequest(). התבנית הזו אינה חדשה – היא תועדה בעבר ונעשה בה שימוש ביישומי הפלאגין לדוגמה שסופקו עם 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:

  • edgemicro status – הפונקציה בודקת אם ה-Edge Microgateway פועל או לא.
  • edgemicro stop – הפסקת האשכול של Edge Microgateway.
  • edgemicro reload - טעינה מחדש של תצורת Edge Microgateway ללא זמן השבתה.

טעינה מחדש של הגדרה אוטומטית ללא זמן השבתה

Edge Microgateway טוען תצורה חדשה מדי פעם ומבצע טעינה מחדש אם משהו השתנה. הסקר מתעד את כל השינויים שבוצעו ב-Edge (שינויים במוצרים, בשרתי proxy הקשורים ל-microgateway וכו') וגם את השינויים שבוצעו בקובץ התצורה המקומי. פרק הזמן שמוגדר כברירת מחדל לתשאול הוא 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 (Server Name Indication).

שליחת קובצי יומן אל 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.

גרסה

תכונות חדשות ושיפורים גרסה 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

אלה התכונות והשיפורים החדשים:

ציון יציאה בזמן ההפעלה

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

אפשר לשמור כותרות לאימות באופן אופציונלי

הגדרת תצורה חדשה, keepAuthHeader, מאפשרת לשמור את כותרת ההרשאה שנשלחה בבקשה. אם המדיניות מוגדרת כ-True, כותרת ה-Auth מועברת ליעד. למידע נוסף, אפשר לעיין בקטע מאפייני 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 הושקה ב-18 באפריל 2016.

תכונות חדשות ושיפורים גרסה 2.0.0

בהמשך מפורטים התכונות והשיפורים החדשים שבגרסה הזו.

שרת תהליך יחיד

Edge Microgateway הוא עכשיו שרת תהליך יחיד. במודל כבר לא נעשה שימוש במודל של שני תהליך, שבו תהליך אחד (שנקרא בעבר "agent") מפעיל את Edge Microgateway, התהליך השני. הארכיטקטורה החדשה מקלה על האוטומציה ועל יצירת קונטיינרים.

קובצי תצורה ממרחב שמות

מעכשיו, קובצי ההגדרות מחולקים למרחבים משותפים לפי ארגון וסביבה, כך שכמה מכונות Microgateway יכולות לפעול באותו מארח. קובצי התצורה יופיעו בנתיב ~/.edgemicro אחרי הרצת פקודת config של Edge Microgateway.

משתני סביבה חדשים

יש עכשיו 4 משתני סביבה: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY, EDGEMICRO_SECRET. אם מגדירים את המשתנים האלה במערכת, אין צורך לציין את הערכים שלהם כשמשתמשים בממשק Command-Line Interface (CLI) כדי להגדיר ולהפעיל את Edge Microgateway.

הגדרה במטמון

Edge Microgateway משתמש בקובץ תצורה שנשמר במטמון אם הוא מופעל מחדש ללא חיבור ל-Apigee Edge.

מצב אשכול

עכשיו יש אפשרויות להפעלת Edge Microgateway במצב אשכול. מצב אשכול מאפשר לך לנצל את היתרונות של מערכות עם ליבות מרובות. המיקרו-שער משתמש במודול אשכול Node.js לתכונה הזו. פרטים נוספים זמינים במסמכי התיעוד של Node.js.

באגים בגרסה 2.0.0

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

גרסה 1.1.2

גרסה 1.1.2 של Edge Microgateway הושקה ב-14 במרץ 2016.

תכונות חדשות ושיפורים גרסה 1.1.2

בהמשך מפורטים התכונות והשיפורים החדשים שבגרסה הזו.

שיפור ביצועים

Edge Microgateway משתמש עכשיו באופן תקין בסוכן ה-HTTP של Node.js כדי לאפשר מאגר חיבורים טוב יותר. שיפור זה משפר את הביצועים ואת היציבות הכוללת בעומסים גבוהים.

תמיכה מרחוק בניפוי באגים

אפשר להגדיר את Edge Microgateway כך שיפעל עם כלי לניפוי באגים מרוחק, כמו node-inspector.

המיקום החדש של קובץ התצורה

כשמגדירים את Edge Microgateway, הקובץ agent/config/default.yaml מועתק אל ~./edgemicro/config.yaml.

רוטציה של קובץ יומן

מאפיין config חדש מאפשר לציין מרווח זמן לסיבוב של יומני Edge Microgateway.

באגים בגרסה 1.1.2

הבאגים הבאים מתוקנים בגרסה 1.1.2.

תיאור
הסבר Java של שרת proxy פנימי מסוג קצהמיקרו, שנעשה בו שימוש עם Edge בארגון שלך, משתמש עכשיו בשרת MGMT ימני.
צריך להסיר מהסוכן יחסי תלות של כתב סוג.
תיקון באג ב-CLI כשמשתמשים באפשרות פריסה פשוטה.
תיקון התייחסות לתלויות בלוגיקת אישור.