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

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

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

באגים שתוקנו

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

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

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

‫Apigee החלה להפיץ את התיקונים הבאים ב-1 באוקטובר 2019
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 שנפרס לא מופעל בחלק ממעבדי ההודעות

ב-13 בספטמבר 2019, Apigee פרסמה את התיקונים הבאים
132654321 שרת ניהול נתונים לא מוצגים ביומני הביקורת
131246911 שרת ניהול לכתובות אימייל של מפתחים בפורטל, צריך להפעיל תמיכה בדומיינים חדשים יותר כמו ‎ *.games, *.asia
‫Apigee פרסמה את התיקונים הבאים ב-18 באפריל 2019
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 is set as "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 הוצאות חריגות על שירותים מנוהלים בארגון
120277011 שרת ניהול נדרש אימות קלט: אי אפשר לפרוס את ה-proxy אם שם המארח של שרת היעד מכיל **
119976417 API Monitoring במעקב אחר API מוצג זמן תגובה גבוה של שרת proxy, אבל בנתונים האנליטיים מוצג זמן תגובה גבוה של יעד
119947481 API Runtime במקרה חריג, מטען הייעודי (payload) שצריך לעבור מיסוך נרשם ביומן כטקסט פשוט
119877164 ענן פרטי / OPDK הנתבים יוצרים שגיאות, מעבד ההודעות עובר למצב אופליין עם TLS מופעל

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

119816218 API Runtime מטמון התגובות מתעלם מהכותרת Expires אם הערך שלה הוא 0 או מספר שלילי
119770242 API Runtime התקשורת בין הנתב ל-MP נכשלה וגרמה להשבתה מלאה: שגיאה ב-PostClientFlow גורמת ללולאה אינסופית
119443145 שרת ניהול ה-proxy ל-API מחזיר 404 כשמשנים את השם של ProxyEndpoint ופורסים אותו מחדש
119260281 API Runtime שגיאת היומן 'לא ניתן לנתח כמחרוזת3000.0'
118743407 שרת ניהול משך הפריסה של proxy ל-API ב-Apigee
118447966 API Runtime שגיאה בהערות קריאה ל-JavaScript בגרסה 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 מידע על API proxy לפעמים לא מוסר מעץ הסיווג של ה-API
67377575 יעדים מתארחים חוסר התאמה בין רשומת הניתוח לבין מה שנשלח ללקוח בשרת 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 לא פועלת כמצופה