19.03.01 – נתוני הגרסה של Apigee Edge ל-Public Cloud

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

ביום שלישי, 3 בדצמבר 2019, התחלנו להשיק עדכון לגרסה הזו של Apigee Edge for Public Cloud. (הפרסום המקורי היה ביום חמישי, 18 באפריל 2019).

עדכונים ותכונות חדשות

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

מזהה הבעיה שם הרכיב תיאור
‫Apigee התחילה להשיק את העדכונים הבאים ב-1 באוקטובר 2019
110995050 API Runtime

איזון עומסים – שליטה רבה יותר בהסרת שרתים שנכשלים

כשמגדירים מאזן עומסים ל-proxy ל-API, אפשר לקבוע כמה כשלים בתגובה יתרחשו לפני שהשרת יוסר מהרוטציה של איזון העומסים. כשל בתגובה פירושו שלא התקבלה תגובה משרת היעד ב-Apigee. במקרה כזה, מוסיפים 1 למונה הכשלים. כש-Apigee מקבל תגובה מיעד, גם אם התגובה היא שגיאת HTTP (למשל 500), היא נחשבת כתגובה משרת היעד, והמונה של הכשלים מתאפס. כדי לוודא שתגובות HTTP לא תקינות (כמו 500) גם יגדילו את מונה הכשלים, כך ששרת לא תקין יוצא מרוטציית איזון העומסים בהקדם האפשרי, אפשר להוסיף רכיב <ServerUnhealthyResponse> חדש עם רכיבי צאצא <ResponseCode> להגדרת איזון העומסים. גם ב-Edge התשובות עם הקודים האלה ייחשבו ככשלים.

<HTTPTargetConnection>
  <LoadBalancer>
    <Algorithm>RoundRobin</Algorithm>
    <Server name="target1" />
    <Server name="target2" />
    <ServerUnhealthyResponse>
        <ResponseCode>500</ResponseCode>
        <ResponseCode>502</ResponseCode>
        <ResponseCode>503</ResponseCode>
    </ServerUnhealthyResponse>
    <MaxFailures>5</MaxFailures>
  </LoadBalancer>
</HTTPTargetConnection>
  
  
130416715 אבטחה

שיפורים במדיניות AccessControl

מדיניות AccessControl קובעת אילו כתובות IP יכולות לבצע קריאות ל-proxy ל-API. במדיניות הזו יש רכיב חדש שמאפשר למפתחי API שליטה רבה יותר בזיהוי כתובות ה-IP שצריך להעריך.

<IgnoreTrueClientIPHeader>: אופציונלי (ברירת המחדל היא false). אם מגדירים את המדיניות הזו כ-True, המדיניות מתעלמת מהכותרת True-Client-IP ומעריכה את כתובות ה-IP בכותרת X-Forwarded-For, בהתאם ל התנהגות ההערכה של X-Forwarded-For שהגדרתם.

<AccessControl async="false" continueOnError="false"
    enabled="true" name="Access-Control-1">
    <DisplayName>Access Control-1</DisplayName>
    <IgnoreTrueClientIPHeader>true</IgnoreTrueClientIPHeader>
    ...
</AccessControl>
‫Apigee פרסמה את העדכונים הבאים ב-18 באפריל 2019
117558815,
119856499,
110548137,
79526748,
72989449,
70712859,
69049041
API Runtime JWS ו-JWT
הוספנו מדיניות חדשה לתמיכה ב-JWS ושיפרנו את מדיניות JWT הקיימת שלנו.

פרטים נוספים זמינים בפוסט הזה בקהילה.

122610025 API Runtime הוספת האפשרות לרכיב RaiseFault להגדיר גם את סיבת השגיאה ומשתנים שרירותיים, כמו ברכיב AssignMessage

שני רכיבים חדשים זמינים במדיניות RaiseFault כדי לטפל בFaultRules בצורה נקייה ויעילה יותר.

  • ShortFaultReason הוא ערך בוליאני שאם הוא מוגדר כ-true, שם המדיניות מוצב במשתנה fault.reason.
  • AssignVariable, שזמין ב-FaultResponse, מאפשר להקצות את תגובת השגיאה למשתנה לשימוש במדיניות אחרת בתהליך של proxy ל-API.
121149811 יעדים מתארחים מגבלות שנאכפות על יעדים מתארחים

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

117659213 API Runtime הגדרת פרמטרים לטווחי כתובות IP במדיניות AccessControl

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

לדוגמה, במקום:

<MatchRule action="DENY">
    <SourceAddress mask="24">198.51.100.1</SourceAddress>
</MatchRule>
     

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

<MatchRule action="DENY">
    <SourceAddress mask="{kvm.mask.ref}">{kvm.ip.ref}</SourceAddress>
</MatchRule>
     
113599885 API Monitoring תפקידים ב-API Monitoring

ב-API Monitoring יש שני תפקידים: API Monitoring Administrator ו-API Monitoring User. אפשר לקרוא עליהם במאמר גישה ל-API Monitoring. הם הפכו לזמינים בדצמבר 2018.

132256772 API Runtime הכותרת X-Apigee.Message-Timeout נוספה לבקשה

עכשיו Edge מוסיף את הכותרת X-Apigee.Message-Timeout לכל בקשה. הכותרת הזו מיועדת לשימוש פנימי על ידי Edge. אל תסתמכו על הערכים בכותרות X-Apigee.* בשרתי ה-proxy של ה-API, כי הכותרות האלה לא מיועדות לשימוש הלקוחות ו-Apigee יכולה להסיר או לשנות אותן בכל שלב.

78575018 ענן פרטי / OPDK דילוג על שרת הניהול כדי לדלג על רישום מאגר הנתונים של השער כשיש כמה פודים של שערים

באגים שתוקנו

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

מזהה הבעיה שם הרכיב תיאור
החל מ-3 בדצמבר 2019, התחלנו להפיץ את התיקונים הבאים ב-Apigee
תיקוני אבטחה.
ב-29 באוקטובר 2019, התחלנו להפיץ את התיקונים הבאים ב-Apigee
139381794 שרת ניהול

טיפול בשגיאות במחיקת מאגר מפתחות כדי שהקריאה ל-API לא תיכשל

החל מ-1 באוקטובר 2019, Apigee החלה להפיץ את התיקונים הבאים
140761319 API Runtime

x-apigee.edge.execution.sense.action תמיד מוגדר כ-null

139091614 API Runtime

במדיניות ResponseCache, הפעולה NIOTheread מתבצעת ללא דחייה ממאגר השרשורים

131331305 שירותי ליבה

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

136690640 API Runtime

שגיאות 404 לסירוגין בארגונים ספציפיים

140948100 API Runtime

Shared Flow שנפרס לא מופעל בחלק ממעבדי ההודעות

‫Apigee פרסמה את התיקונים הבאים ב-13 בספטמבר 2019
132654321 שרת ניהול נתונים לא מוצגים ביומני הביקורת
131246911 שרת ניהול לכתובות אימייל של מפתחים בפורטל, צריך להפעיל תמיכה בדומיינים חדשים יותר כמו ‎ *.games, *.asia
ב-18 באפריל 2019, Apigee פרסמה את התיקונים הבאים
123844598 שרת ניהול אי אפשר לייבא מחדש מפתחות של אפליקציות שנמחקו אחרי יותר מ-24 שעות
123588156 API Runtime הסרת הכותרת Content-Length מהתגובה נכשלת עם קוד 304
122732400 API Runtime הגדרת api.timeout מבטלת את ההגדרה של io.timeout.millis
122545281 API Runtime DebugSession Data mask for JSON should consider case in which jsonPayload is an array
122355807 שרת ניהול התנהגות שגויה של הרשאות למשתמשים עם כמה תפקידים
121393556 API Runtime הערך של x_apigee_fault_code הוא org/codehaus/jackson/map/ObjectMapper
120998548 ממשק משתמש של Edge שגיאת הקלדה בהודעת השגיאה: האישור לא תקין או שאי אפשר לסמוך עליו
120990929 API Runtime תגובת HTTP-413 מ-Nginx/Apigee-Router חושפת את סוג השרת
120799489 API Runtime כשמשתמשים ב-httpClient עם קריאה חוזרת (callback) אסינכרונית ב-JavaScript‏ httpComplete()‎, הפלט של debugsession (trace) מושתק
120794339 API Runtime Drifted MPs for organization
120277011 שרת ניהול נדרש אימות קלט: אי אפשר לפרוס את ה-proxy אם שם המארח של שרת היעד מכיל **
119976417 API Monitoring ב-API Monitoring מוצג זמן תגובה גבוה של השרת הפרוקסי, אבל בניתוח הנתונים מוצג זמן תגובה גבוה של היעד
119947481 API Runtime במקרה חריג, מטען הייעודי (payload) שצריך להסתיר מתועד כטקסט פשוט
119877164 ענן פרטי / OPDK הנתבים יוצרים שגיאות, מעבד ההודעות עובר למצב אופליין עם TLS מופעל

התיקון הזה ייכלל בגרסה הבאה של Edge for Private Cloud.

119816218 API Runtime מטמון התגובות מתעלם מכותרת התפוגה אם היא מוגדרת ל-0 או למספר שלילי
119770242 API Runtime התקשורת בין הנתב ל-MP נכשלה וגרמה להשבתה מלאה: שגיאה ב-PostClientFlow גורמת ללולאה אינסופית
119443145 שרת ניהול proxy ל-API מחזיר 404 כשמשנים את השם של ProxyEndpoint ופורסים אותו מחדש
119260281 API Runtime שגיאת היומן 'לא ניתן לנתח כמחרוזת3000.0'
118743407 שרת ניהול משך הפריסה של proxy ל-API ב-Apigee
118447966 API Runtime שגיאה ב-JavaScript Callouts בגרסה MP Release 180608_07
117549719 API Runtime אי התאמה בין ה-URI של הבקשה לבין נתיב הבסיס של ה-proxy
117219520 API Runtime MessageLogging: Syslog logger uses an incorrect date format as default, displays milliseconds incorrectly
117116435 API Runtime שגיאות לסירוגין מקובץ JavaScript
117091520 API Runtime הפעלת JavaCallouts נכשלת אחרי שחרור מעבד ההודעות 18.06.08
116165318 API Runtime פריסות בו-זמניות של אותו חבילה גורמות ל-RepositoryException
116055025 שירות Configstore מעבדי הודעות חסרים מארחים וירטואליים ואפליקציות אחרי הפעלה
115614498 API Runtime Need support for ILB in OPDK

התיקון הזה ייכלל בגרסה הבאה של Edge for Private Cloud.

113972537 API Runtime כמה בעיות ברמת חומרה P1 – NullPointerException הופעל מקוד Node.js בשרתי proxy של Trireme – 500 שגיאת שרת פנימית
113904969 תמיכה ב-Apigee בעיה במחיקה של שרתי proxy ל-API בארגוני הדגמה
113554802 API Runtime אימות טענת SAML נכשל עם NullPointerException
113315737 שרת ניהול פריסת ה-Proxy נכשלה בגלל שחסרות רשומות פריסה ב-Zookeeper
112767195 API Runtime שגיאות לסירוגין ב-DataStore במהלך גישה למדיניות KVM
112162179 API Runtime שמירת אובייקט JavaScript במטמון בלי להמיר אותו למחרוזת עלולה לגרום לקיפאון
111860576 API Runtime חסרה שגיאה במדיניות בנושא מכסות
111671525 יעדים מתארחים קודי תגובה לא מוצלחים מיעדים מתארחים מפעילים זרימת תקלות בשרת proxy
111523933 תוספים(מחברים) בעיה במטמון של המדיניות בנושא ExtensionCallout
111420263 API Runtime חריגת ConcurrentModification ב-MessageLogging
110843526 שרת ניהול Management API ליצירה או לעדכון של נקודת חיבור של תהליך צריך לאמת תהליך משותף
110805739 API Runtime הערך של TTL לא מוגדר כ-1- בתהליך CPS כש-Reuserefreshtoken הוא true ותפוגת אסימון הרענון לא מוגדרת באופן מפורש
110429629 API Runtime המדיניות BasicAuthentication (אימות בסיסי) מפיקה את המשתנה request.headers.Authorization (הרשאה של כותרות הבקשה) אל DebugSession (סשן ניפוי הבאגים)
110425503 API Runtime טעינה מחדש של Nginx גורמת לבעיות בזמינות של MP
110311540 API Runtime NPE כש-MP מושבת
110161455 API Runtime AccessEntity צריך להשתמש בשיטה fetch לפי שם האפליקציה במקום בשיטה fetch all apps בארגונים של CPS
90695522 API Runtime context.proxyRequest.asForm generates java.lang.ArrayIndexOutOfBoundsException: 1
79734096 שרת ניהול יומני ביקורת של שרתי proxy לא מסננים יותר שרתי proxy
78105568 שרת ניהול פריסות של תהליכים משותפים לא מופיעות בקריאות ל-API לניהול של ‎ /org/{org}/sharedflows/{sharedflow}/deployments אחרי עדכון של תהליך משותף שנפרס
77528868 Trireme רגרסיה ב-Trireme: בוצעה יציאה מהסקריפט server.js עם קוד הסטטוס ‎-1: מאפיין 0 לא נמצא
73766568 API Runtime שדרוג מגרסה 170213_02 לגרסה 171117_01 גרם לעלייה משמעותית בחביון של שרת proxy עם יעד Trireme/Node
72710481 API Runtime CacheServiceImpl/CacheMemoryLimiter NullPointerException
68861063 API Runtime טיפול ב-NPE במהלך כיבוי של נתבים
68833699 API Runtime מידע על כך שלפעמים proxy ל-API לא מוסר מעץ הסיווג של API
67377575 יעדים מתארחים חוסר התאמה בין הרשומה ב-Analytics לבין מה שנשלח ללקוח בשרת proxy של Node.js
112481174 יעדים מתארחים Do not fail proxy undeploy due to Turbo error
117171470 יעדים מתארחים פתרון הודעת השגיאה 'app.yaml לא חוקי'
67169139 API Runtime הפורמט של חותמת הזמן ב-syslog של מדיניות MessageLogging שגוי
67165418 API Runtime שגיאת רישוי לגבי שימוש ביותר מעבדי הודעות גם כשמשתמשים בפחות מהכמות שמופיעה ברישיון

התיקון הזה ייכלל בגרסה הבאה של Edge for Private Cloud.

67165195 API Runtime ValidateSAMLAssertion לא מאמת את החתימה על טענת נכוֹנוּת שמוטמעת בתגובה חתומה
66214414 API Runtime המשתנה currentstep.flowstate תמיד מחזיר את הערך SHARED_FLOW כשמפנים אליו מתוך תהליך משותף
65731656 API Runtime ה-API להגנה מפני איומים נכשל לסירוגין עבור אותה בקשה
133197060 API Runtime מקבלים שגיאת Gateway timeout ‏(57) מ-MP ליעד
110535186 API Runtime ServiceCallout בלי רכיב Response ו-HTTPTargetConnection שמצביע על proxy: לפעמים אין קריאה
132443137 API Runtime שינוי ההתנהגות של מעבד ההודעות כך שיתעלם מכותרות שמתחילות ב-X-Apigee-*. לכן, צריך לשנות את כל הקוד שמשתמש בכותרות X-Apigee-* ולהחליף את הכותרות האלה בכותרות נתמכות.
125709964 API Runtime הפונקציה invalidate Cache with purgeChildEntries לא פועלת כמו שצריך