קטלוג שגיאות זמן ריצה

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

שגיאות ב-Apigee Edge

כשבקשות API נשלחות דרך Apigee Edge, רכיבי Apigee Edge – נתבים ומעבדי הודעות, או הקצה העורפי יכולים להחזיר שגיאות לאפליקציות הלקוח.

שגיאות ממעבד ההודעות

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

  • בעיות בקישוריות רשת, כשלי לחיצת יד בפרוטוקול TLS, חוסר זמינות של שרת עורפי, חוסר תגובה במהלך התקשורת עם שרת הקצה העורפי
  • כשלים במהלך הפעלת המדיניות
  • כותרות HTTP לא חוקיות, קידוד, נתיב, אי-תאימות למפרטי HTTP, חריגה מגבלות על מוצרים, וכו':
    • באמצעות בקשת HTTP שנשלחה על ידי אפליקציות הלקוח
    • או

    • עם תגובת HTTP שנשלחת משרת הקצה העורפי
  • ועוד הרבה

שגיאה לדוגמה במעבד ההודעות

מעבד ההודעות תמיד מחזיר קוד מצב HTTP ואחריו הודעת שגיאה קוד שגיאה בפורמט JSON כפי שמוצג בהמשך:

אפליקציית הלקוח מקבלת קוד תגובה כמו בדוגמה הבאה:

HTTP/1.1 414 Request-URI Too Long

תגובת שגיאה ממעבד ההודעות מופיעה בפורמט הבא:

{
   "fault":{
      "faultstring":"request line size exceeding 7,168",
      "detail":{
         "errorcode":"protocol.http.TooBigLine"
      }
   }
}

תיאור השדות בתגובת השגיאה:

שדה תיאור
faultstring מכילה הודעת שגיאה שמתארת את הסיבה האפשרית לשגיאה
errorcode קוד שגיאה (שנקרא גם קוד שגיאה) שמשויך אל שגיאה

קטלוג שגיאות זמן ריצה

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

  • קוד מצב HTTP
  • הודעת שגיאה
  • סיבות אפשריות לשגיאה
  • מפרטי HTTP ו/או מגבלות מוצר משויכים
  • מדריכים וסרטונים שכוללים הוראות לאבחון הגורם לשגיאה פתרונות יעילים שבהם אפשר ליישם כדי לפתור את השגיאה בעצמך (אם אפשר)
  • עליך לתקן את האופן שבו ניתן להחיל את השגיאה בעצמך

הקטגוריות הבאות של קודי שגיאה נכללות:

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

קוד שגיאה תיאור תיקון

flow.*

flow.APITimedOut

  • קוד מצב HTTP:
504 Gateway Timeout
  • הודעת השגיאה:
API timed out
  • סיבה אפשרית:

השגיאה הזו מתקבלת אם:

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

הערה: המדריך הזה מספק הוראות לפתרון בעיות בקוד השגיאה messaging.adaptors.http.flow.GatewayTimeout; אבל אפשר להשתמש את אותו מדריך לפתרון בעיות בקוד השגיאה flow.APITimedOut.

מדריך

flow.SharedFlowNotFound

  • קוד מצב HTTP:
500 Internal Server Error
  • הודעת השגיאה:
Shared Flow {shared_flow_name} Not Found
  • סיבה אפשרית:

השגיאה הזו מתקבלת אם התהליך המשותף הספציפי:

  • לא קיים
  • או

  • קיימת אבל לא פרוסה
מדריך

messaging.adaptors.http.flow

messaging.adaptors.http.flow.ApplicationNotFound

  • קוד מצב HTTP:
404 Not Found
  • הודעת השגיאה:
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix}
  • סיבה אפשרית:

השגיאה הזו מתרחשת באחד מהתרחישים הבאים:

  1. שרת ה-proxy הספציפי ל-API הוא:
    1. לא מוגדר לקבל בקשות מארח וירטואלי
    2. לא מוגדר לקבל בקשות בנתיב הספציפי נעשה בו שימוש בבקשה
    3. לא להיות פרוסות בסביבה הספציפית שבה מנסים לבצע את בקשות ה-API
    4. לא פרוס במעבד הודעות אחד או יותר
  2. הסביבה הספציפית שבה מנסים ליצור בקשות ה-API לא נטענות במעבד הודעות אחד או יותר
מדריך
השגיאה הזו יכולה גם לקרות אם לכמה מארחים וירטואליים יש אותו מארח כתובת אימייל חלופית ומספר יציאה. מדריך

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • קוד מצב HTTP:
400 Bad Request
  • הודעת השגיאה:
Decompression failure at request
  • סיבה אפשרית:

השגיאה הזו מתקבלת רק אם:

  • הקידוד שצוין בכותרת של בקשת ה-HTTP Content-Encoding חוקי ו שנתמכת ב-Apigee Edge,
  • אבל

  • פורמט המטען הייעודי (Payload) שהלקוח שולח כחלק מה-HTTP הבקשה אינה תואמת לפורמט הקידוד שצוין ב כותרת Content-Encoding
מדריך

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Decompression failure at response
  • סיבה אפשרית:

השגיאה הזו מתקבלת רק אם:

  • הקידוד שצוין בשרת הקצה העורפי/היעד כותרת תגובת HTTP Content-Encoding תקינה ו שנתמכת ב-Apigee Edge,
  • אבל

  • פורמט המטען הייעודי (Payload) שנשלח על ידי שרת הקצה העורפי/שרת היעד בתור חלק מתגובת ה-HTTP לא תואם לפורמט הקידוד שצוין כותרת Content-Encoding
מדריך

messaging.adaptors.http.flow.ErrorResponseCode

  • קוד מצב HTTP:
500

מדריך

סרטון

  • הודעת השגיאה:
הודעת השגיאה והפורמט עשויים להשתנות בהתאם לשרת העורפי יישום בפועל.
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם שרת הקצה העורפי מגיב עם סטטוס את הקוד 500 ל-Apigee Edge.
  • קוד מצב HTTP:
503

מדריך

סרטון

  • הודעת השגיאה:
הודעת השגיאה והפורמט עשויים להשתנות בהתאם לשרת העורפי יישום בפועל.
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם שרת הקצה העורפי מגיב עם סטטוס את הקוד 503 ל-Apigee Edge.
  • קוד מצב HTTP:
504 מדריך
  • הודעת השגיאה:
הודעת השגיאה והפורמט עשויים להשתנות בהתאם לשרת העורפי יישום בפועל.
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם שרת הקצה העורפי מגיב עם סטטוס את הקוד 504 ל-Apigee Edge.

הערה: קוד השגיאה הערך messaging.adaptors.http.flow.ErrorResponseCode לא מוחזר כחלק מהודעת השגיאה שנשלחה לאפליקציות הלקוח. הדבר כי קוד השגיאה הזה מוגדר על ידי Apigee Edge בכל פעם ששרת הקצה העורפי התגובה כוללת שגיאה ואחד מהשדות 4XX או 5XX קודי מצב. ניתן לראות את קוד השגיאה הזה ב-API Monitoring, ביומני הגישה ל-NGINX או ל-Analytics.

messaging.adaptors.http.flow.GatewayTimeout

  • קוד מצב HTTP:
504 Gateway Timeout
  • הודעת השגיאה:
Gateway Timeout
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם שרת הקצה העורפי לא מגיב למעבד ההודעות של Apigee Edge במסגרת פרק זמן הקצוב לתפוגה של קלט/פלט (I/O) שהוגדר במעבד ההודעות.
מדריך

messaging.adaptors.http.flow.LengthRequired

  • קוד מצב HTTP:
411 Length Required
  • הודעת השגיאה:
'Content-Length' is missing
  • סיבה אפשרית:

השגיאה הזו מתקבלת אם הכותרת Content-Length לא מועברת אפליקציית הלקוח כחלק מה-HTTP POST ו-PUT בקשות שנשלחו ל-Apigee Edge.

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

  • מפרט HTTP:
RFC סעיף 3.3.2: אורך התוכן

תיקון

כדי לפתור את השגיאה, מבצעים את השלבים הבאים:

  1. צריך לוודא שאפליקציית הלקוח תמיד מעבירה את הכותרת Content-Length כחלק מה-HTTP POST וגם PUT בקשות נשלחו ל-Apigee Edge. לדוגמה:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. גם אם מעבירים מטען ייעודי (payload) ריק עם POST ועם בקשות PUT, יש לוודא שהכותרת Content-Length: 0 עבר. לדוגמה:

    curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
    

messaging.adaptors.http.flow.NoActiveTargets

  • קוד מצב HTTP:
503 Service Unavailable
  • הודעת השגיאה:
The Service is temporarily unavailable
  • סיבה אפשרית:

השגיאה הזו מתרחשת באחד מהתרחישים הבאים: אם משתמשים TargetServer ב-Apigee Edge:

  1. רזולוציית ה-DNS שגויה של מארח שרת הקצה העורפי שרת הרשאות בהתאמה אישית גרם לכתובות IP שגויות, שגיאות חיבור.
  2. שגיאות של הזמן הקצוב לחיבור עקב:
    1. הגבלת חומת האש בשרת הקצה העורפי מונעת Apigee Edge מהתחברות לשרת בקצה עורפי.
    2. בעיות בקישוריות רשת בין Apigee Edge ושרת קצה עורפי.
  3. המארח שצוין ב-TargetServer שגוי או מכיל תווים לא רצויים (כמו רווח).

מדריך

סרטון

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

מדריך

סרטון

messaging.adaptors.http.flow.RequestTimeOut

  • קוד מצב HTTP:
408 Request Timeout
  • הודעת השגיאה:
Request timed out
  • סיבה אפשרית:
שגיאה זו מתרחשת אם מעבד ההודעות של Apigee Edge לא מקבל את לבקש מטען ייעודי (payload) מאפליקציית הלקוח עבור זמן קצוב לתפוגה של קלט/פלט (I/O) שהוגדר ברכיב מעבד ההודעות.

תיקון

צריך לוודא שאפליקציית הלקוח שולחת את המטען הייעודי (payload) של הבקשה בתוך זמן קצוב לתפוגה של קלט/פלט (I/O) שהוגדר ברכיב מעבד ההודעות של Apigee Edge.

messaging.adaptors.http.flow.ServiceUnavailable

  • קוד מצב HTTP:
503 Service Unavailable
  • הודעת השגיאה:
The Service is temporarily unavailable
  • סיבה אפשרית:

השגיאה הזו מתרחשת באחד מהתרחישים הבאים:

  1. רזולוציית ה-DNS שגויה של שרת הקצה העורפי מארח באמצעות שרת הרשאות מותאם אישית גרם לכתובות IP שגויות לשגיאות חיבור.
  2. שגיאות של הזמן הקצוב לחיבור עקב:
    1. הגבלת חומת האש בשרת הקצה העורפי מונעת Apigee Edge מהתחברות לשרת בקצה עורפי.
    2. בעיות בקישוריות רשת בין Apigee Edge ו- שרת עורפי.
  3. מארח שרת היעד שצוין בנקודת הקצה (endpoint) של היעד הוא שהוא שגוי או מכיל תווים לא רצויים (כמו רווח).

מדריך

כשל DNS:

סרטון

קישוריות רשת:

סרטון

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

messaging.adaptors.http.flow.SslHandshakeFailed

  • קוד מצב HTTP:
503 Service Unavailable
  • הודעת השגיאה:
SSL Handshake failed {error_message}
  • סיבה אפשרית:

השגיאה הזו מתרחשת בתהליך לחיצת היד של SSL בין פרוטוקול Apigee Edge מעבד ההודעות ושרת הקצה העורפי במקרים הבאים:

  1. ה-Truststore של מעבד ההודעות של Apigee Edge:
    • מכיל שרשרת אישורים שלא תואמת לשרשרת הקצה העורפי של שרת הקצה השלמת שרשרת האישורים
    • או

    • לא מכיל את שרשרת האישורים המלאה של שרת הקצה העורפי
  2. שרשרת האישורים שמוצגת על ידי שרת הקצה העורפי:
    • מכיל שם דומיין מלא (FQDN) שאינו תואם שם המארח שמצוין בנקודת הקצה של היעד
    • או

    • שרשרת אישורים שגויה או לא שלמה

מדריך

סרטון

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Unexpected EOF at target
  • סיבה אפשרית:

השגיאה הזו מתרחשת באחד מהתרחישים הבאים:

  1. TargetServer לא מוגדר כראוי לתמיכה בחיבורי TLS או SSL ב-Apigee Edge.
  2. השרת העורפי עשוי לסגור את החיבור בפתאומיות, בזמן ש-Apigee Edge ממתין לתגובה משרת הקצה העורפי.
  3. שמירה של זמנים קצובים לתפוגה פעילים שמוגדרים באופן שגוי ב-Apigee שרת עורפי.
מדריך

messaging.runtime.*

messaging.runtime.RouteFailed

  • קוד מצב HTTP:
500 Internal Server Error
  • הודעת השגיאה:
Unable to route the message to a TargetEndpoint
  • סיבה אפשרית:

השגיאה הזו מתקבלת אם ל-Apigee Edge אין אפשרות לנתב את הבקשה לאף אחד TargetEndpoints כי:

  • אין תנאי של כלל מסלול (<RouteRule>) אשר תואם לבקשה ב-Proxy
  • וגם

  • לא הוגדר כלל נתיב ברירת מחדל ב-ProxyEndpoint (כלומר <RouteRule> ללא תנאי)

תיקון

כדי לפתור את השגיאה, פועלים לפי ההוראות הבאות:

  1. בודקים את כללי הניתוב שהוגדרו ב-ProxyEndpoint ומשנים אותם כדי לוודא יש לפחות תנאי אחד של כלל נתיב שתואם לבקשה שלך.
  2. מומלץ להגדיר כלל נתיב ברירת מחדל ללא תנאי כשיש מספר כללי נתיב.
  3. עליך לוודא שכלל ברירת המחדל של הנתיב מוגדר תמיד אחרון ברשימה של נתיבים מותנים כי הכללים נבדקים מלמעלה למטה ב-ProxyEndpoint.

מידע נוסף על הגדרת תנאים של <RouteRule> ב ProxyEndpoint, מידע נוסף יעדים מותנים.

messaging.runtime.SenseRaiseFault

  • קוד מצב HTTP:
403 Forbidden
  • הודעת השגיאה:
Sense Fault
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם בקשת API נשלחת מכתובת IP של לקוח ספציפי שחסומה כחלק מכללי Apigee Sense.

תיקון

כדי לפתור את השגיאה, פועלים לפי ההוראות הבאות:

  1. מוודאים שחסמתם את כתובת ה-IP הספציפית של הלקוח על ידי בדיקת הכללים שהוגדרו ב-Apigee Sense. אם היא חסומה, זה סימן לכך שהוא פועל כמתוכנן.
  2. אם כתובת ה-IP הספציפית של הלקוח לא חסומה, אבל עדיין מקבלים את השגיאה הזו, ואז פונים לתמיכה של Apigee Edge.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • קוד מצב HTTP:
500 Internal Server Error
  • הודעת השגיאה:
Bad Form Data
  • סיבה אפשרית:

השגיאה הזו מתקבלת רק אם כל התנאים הבאים מתקיימים:

  1. בקשת ה-HTTP שהלקוח שלח ל-Apigee Edge כולל:
    • Content-Type: application/x-www-form-urlencoded, וגם
    • נתוני טופס עם סימן האחוז (%) או האחוז סימן (%) ואחריו תווים הקסדצימליים לא חוקיים שאינם מותרים לפי טפסים – סעיף 17.13.4.1.
  2. שרת ה-proxy ל-API ב-Apigee Edge קורא את הטופס הספציפי שמכילים תווים שאסור להשתמש בהם באמצעות הפונקציה VariableVariables או מדיניות AssignMessage בתהליך הבקשה.
מדריך

protocol.http.DuplicateHeader

  • קוד מצב HTTP:
400 Bad Request
  • הודעת השגיאה:
Duplicate Header "{header_name}"
  • סיבה אפשרית:
השגיאה הזו מתרחשת אם בכותרת HTTP ספציפית אסור שיהיו כפילויות ב-Apigee Edge, מופיע יותר מפעם אחת עם ערכים זהים או שונים כחלק בקשת HTTP נשלחה על ידי אפליקציית הלקוח ל-Apigee Edge.
  • מפרט HTTP:
RFC 7230, סעיף 3.2.2: סדר שדות
מדריך

protocol.http.EmptyHeaderName

  • קוד מצב HTTP:
400 Bad Request
  • הודעת השגיאה:
Header name cannot be empty
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם שם הכותרת שנשלח כחלק מה-HTTP הבקשה של אפליקציית הלקוח ל-Apigee Edge ריקה.
  • מפרט HTTP:
RFC 7230, סעיף 3.2: שדות כותרת

תיקון

לוודא שבקשת ה-HTTP שנשלחה על ידי אפליקציית הלקוח ל-Apigee Edge תמיד מכיל שם כותרת חוקי בהתאם RFC 7230, סעיף 3.2: שדות כותרת.

protocol.http.HeaderNameWithNonAsciiChar

  • קוד מצב HTTP:
400 Bad Request
  • הודעת השגיאה:
Header {header_name} contains non ascii character {character}
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם שם הכותרת שנשלח כחלק מבקשת ה-HTTP שאפליקציית הלקוח ב-Apigee Edge מכילה תווים שאינם ASCII.
  • מפרט HTTP:

RFC 7230, סעיף 3.2: שדות כותרת וגם RFC 7230, סעיף 3.2.6: רכיבי ערך שדה

תיקון

לוודא שבקשת ה-HTTP של הלקוח נשלחה אל Apigee Edge לא מכילה תווים שאינם ASCII בשמות הכותרות כמו RFC 7230, סעיף 3.2.6: רכיבי ערך שדה.

protocol.http.HeaderWithInvalidChar

  • קוד מצב HTTP:
400 Bad Request
  • הודעת השגיאה:
Header {header_name} contains invalid character {character}
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם שם הכותרת שנשלח כחלק מבקשת ה-HTTP על ידי אפליקציית הלקוח ל-Apigee Edge מכילה תווים לא חוקיים כמו שווה (=), פסיק (,), נקודה ופסיק (;), Tab, CRLF ותו שורה חדשה.
  • מפרט HTTP:

RFC 7230, סעיף 3.2: שדות כותרת וגם RFC 7230, סעיף 3.2.6: רכיבי ערך שדה

תיקון

לוודא שבקשת ה-HTTP שנשלחה על ידי אפליקציית הלקוח ל-Apigee Edge לא מכיל תווים לא חוקיים בשמות הכותרת, RFC 7230, סעיף 3.2.6: רכיבי ערך שדה

protocol.http.InvalidPath

  • קוד מצב HTTP:
400 Bad Request
  • הודעת השגיאה:
Invalid path {path}
  • סיבה אפשרית:
השגיאה הזו מתרחשת אם הנתיב בכתובת ה-URL של בקשת ה-HTTP נשלח על ידי אפליקציית הלקוח ל-Apigee Edge מכיל תווים שאינם מותרים לפי המפרט RFC 3986, סעיף 3.3: נתיב.
  • מפרט HTTP:

RFC 3986, סעיף 3: רכיבי תחביר וגם RFC 3986, סעיף 3.3: נתיב

תיקון

צריך לוודא שהנתיב בכתובת ה-URL של בקשת ה-HTTP שנשלח על ידי הלקוח של האפליקציה ל: Apigee Edge לא מכילה תווים שאינם מותרים כ לפי RFC 3986, סעיף 3.3: נתיב.

protocol.http.TooBigBody

  • קוד מצב HTTP:
413 Request Entity Too Large
  • הודעת השגיאה:
Body buffer overflow
  • סיבה אפשרית:
שגיאה זו מתרחשת אם גודל המטען הייעודי (Payload) שנשלח על ידי אפליקציית הלקוח כחלק מ בקשת ה-HTTP ל-Apigee Edge גדולה מהמגבלה המותרת ב-Apigee Edge.
  • מגבלות:
מגבלות Apigee Edge
מדריך

protocol.http.TooBigHeaders

  • קוד מצב HTTP:
431 Request Header Fields Too Large
  • הודעת השגיאה:
request headers size exceeding {limit}
  • סיבה אפשרית:
הגודל הכולל של כל כותרות הבקשה שנשלחו על ידי הלקוח כחלק מבקשת ה-HTTP ל-Apigee Edge גדולה מהמותר ב-Apigee Edge.
  • מפרט HTTP:
RFC 6585, סעיף 5: שדות כותרת של בקשה 431 גדולים מדי
  • מגבלות:
מגבלות ב-Apigee Edge
מדריך

protocol.http.TooBigLine

  • קוד מצב HTTP:
414 Request-URI Too Long
  • הודעת השגיאה:
request line size exceeding {limit}
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם גודל שורת הבקשה שנשלחה על ידי אפליקציית הלקוח כחלק מבקשת HTTP ל-Apigee Edge גבוהה מהמגבלה המותרת ב- Apigee Edge.
  • מגבלות:
מגבלות Apigee Edge
מדריך

protocol.http.UnsupportedEncoding

  • קוד מצב HTTP:
415 Unsupported Media
  • הודעת השגיאה:
Unsupported Encoding "{encoding}"
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם הלקוח שלח את הכותרת Content-Encoding כחלק מתגובת HTTP מכילה פורמט קידוד/מטען ייעודי (payload) שאינו נתמכת ב-Apigee Edge.
  • מפרט HTTP:
RFC 7231, סעיף 6.5.13: 415 סוג מדיה לא נתמך
מדריך

protocol.http.* - Caused by target

protocol.http.BadPath

  • קוד מצב HTTP:
500 Internal Server Error
  • הודעת השגיאה:
Invalid request path
  • סיבה אפשרית:
שגיאה זו מתרחשת אם כתובת האתר של הבקשה של שרת הקצה העורפי, מיוצגת על ידי משתנה הזרימה target.url, מכיל נתיב שמתחיל בסימן שאלה (?) במקום קו נטוי קדימה (/), שהוא לא חוקי.
  • מפרט HTTP:

RFC 3986, סעיף 3: רכיבי תחביר וגם RFC 3986, סעיף 3.3: נתיב

מדריך

protocol.http.DuplicateHeader

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Duplicate Header "{header_name}"
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם כותרת ה-HTTP הספציפית שאסור להוסיף לה כפילויות ב-Apigee Edge, מופיע יותר מפעם אחת עם ערכים זהים או שונים כחלק תגובת ה-HTTP שנשלחה על ידי שרת הקצה העורפי אל Apigee Edge.
  • מפרט HTTP:
RFC 7230, סעיף 3.2.2: סדר שדות
מדריך

protocol.http.EmptyHeaderName

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Header name cannot be empty
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם שם הכותרת שנשלח על ידי שרת הקצה העורפי כחלק מה-HTTP התשובה ל-Apigee Edge ריקה.
  • מפרט HTTP:
RFC 7230, סעיף 3.2: שדות כותרת

תיקון

לוודא שתגובת ה-HTTP שנשלחה על ידי הקצה העורפי שרת ל-Apigee Edge תמיד מכיל שם כותרת חוקי בהתאם RFC 7230, סעיף 3.2: שדות כותרת.

protocol.http.EmptyPath

  • קוד מצב HTTP:
500 Internal Server Error
  • הודעת השגיאה:
Request path cannot be empty
  • סיבה אפשרית:
שגיאה זו מתרחשת אם כתובת האתר של בקשת ה-HTTP של שרת הקצה העורפי, מיוצגת על ידי משתנה הזרימה target.url מכיל נתיב ריק.
  • מפרט HTTP:

RFC 3986, סעיף 3: רכיבי תחביר וגם RFC 3986, סעיף 3.3: נתיב

מדריך

protocol.http.HeaderNameWithNonAsciiChar

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Header {header_name} contains non ascii character {character}
  • סיבה אפשרית:
שגיאה זו מתרחשת אם שם הכותרת שנשלח על ידי שרת הקצה העורפי כחלק מ תגובת ה-HTTP ל-Apigee הקצה מכיל תווים שאינם ASCII.
  • מפרט HTTP:

RFC 7230, סעיף 3.2: שדות כותרת וגם RFC 7230, סעיף 3.2.6: רכיבי ערך שדה

תיקון

מוודאים שתגובת ה-HTTP של שרת הקצה העורפי נשלחת אל Apigee Edge לא מכילה תווים שאינם ASCII בשמות הכותרות כמו RFC 7230, סעיף 3.2.6: רכיבי ערך שדה.

protocol.http.HeaderWithInvalidChar

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Header {header_name} contains invalid character {character}
  • סיבה אפשרית:
שגיאה זו מתרחשת אם שם הכותרת שנשלח על ידי שרת הקצה העורפי כחלק מתגובת ה-HTTP, מכיל תווים לא חוקיים כגון שווה (=), פסיק (,), נקודה-פסיק (;), Tab, CRLF והתו Newline.
  • מפרט HTTP:

RFC 7230, סעיף 3.2: שדות כותרת וגם RFC 7230, סעיף 3.2.6: רכיבי ערך שדה

תיקון

לוודא שתגובת ה-HTTP של שרת הקצה העורפי שנשלחה אל Apigee Edge לא מכילה תווים לא חוקיים בשמות הכותרות RFC 7230, סעיף 3.2.6: רכיבי ערך שדה

protocol.http.ProxyTunnelCreationFailed

  • קוד מצב HTTP:
503 Service Unavailable
  • הודעת השגיאה:
Proxy refused to create tunnel with response status {status code}
  • סיבה אפשרית:

שגיאה זו מתרחשת במהלך יצירת המנהרה בין Apigee Edge לבין שרת עורפי על ידי שרת ה-proxy עקב חומת אש, ACL (רשימת בקרת גישה), DNS בעיות, זמינות של זמינות שרת עורפי וכו'

הערה: קוד הסטטוס בהודעת השגיאה (faultstring) מציין את הסיבה הכללית לבעיה.

מדריך

protocol.http.Response306Reserved

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Response Status code 306 is reserved, so can't be used.
  • סיבה אפשרית:

השגיאה הזו מתקבלת אם שרת הקצה העורפי מגיב עם קוד הסטטוס 306 ל-Apigee Edge.

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

  • מפרט HTTP:
RFC 7231, סעיף 6.3.5: 306 שמור

תיקון

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

protocol.http.Response405WithoutAllowHeader

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Received 405 Response without Allow Header
  • סיבה אפשרית:
התגובה של שרת הקצה העורפי היא קוד הסטטוס 405 Method Not Allowed בלי הכותרת "Allow".
  • מפרט HTTP:

RFC 7231, סעיף 6.5.5: 405 Method Not Allowed וגם RFC 7231, סעיף 7.4.1: אפשר

מדריך

protocol.http.ResponseWithBody

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Received {status_code} Response with message body
  • סיבה אפשרית:

שגיאה זו מתרחשת אם תגובת ה-HTTP משרת הקצה העורפי אל Apigee Edge היא 204 No Content או 205 Reset Content אבל הוא מכיל את גוף התגובה ו/או אחת או יותר מהכותרות הבאות:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • מפרט HTTP:

RFC 7231, סעיף 6.3.5: 204 ללא תוכן וגם RFC 7231, סעיף 6.3.6: 205 איפוס תוכן

מדריך

protocol.http.TooBigBody

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
Body buffer overflow
  • סיבה אפשרית:
שגיאה זו מתרחשת אם גודל המטען הייעודי (Payload) שנשלח על ידי אפליקציית הלקוח כחלק מ בקשת ה-HTTP ל-Apigee Edge גדולה מהמגבלה המותרת ב-Apigee Edge.
  • מגבלות:
מגבלות Apigee Edge
מדריך

protocol.http.TooBigHeaders

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
response headers size exceeding {limit}
  • סיבה אפשרית:
שגיאה זו מתרחשת אם הגודל הכולל של כל כותרות התגובה שנשלחו על ידי ה- שרת הקצה העורפי כחלק מתגובת ה-HTTP ל-Apigee Edge גדול יותר מוגבלת ב-Apigee Edge.
  • מגבלות:
מגבלות ב-Apigee Edge
מדריך

protocol.http.TooBigLine

  • קוד מצב HTTP:
502 Bad Gateway
  • הודעת השגיאה:
response line size exceeding {limit}
  • סיבה אפשרית:
שגיאה זו מתרחשת אם הגודל של שורת התגובה שנשלח על ידי שרת הקצה העורפי בתור חלק מתגובת HTTP ל-Apigee Edge גדול מהמגבלה המותרת ב-Apigee קצה.
  • מגבלות:
מגבלות Apigee Edge
מדריך

protocol.http.UnsupportedEncoding

  • קוד מצב HTTP:
415 Unsupported Media
  • הודעת השגיאה:
Unsupported Encoding "{encoding}"
  • סיבה אפשרית:
השגיאה הזו מתקבלת אם הכותרת Content-Encoding נשלחת על ידי שרת העורפי כחלק מתגובת ה-HTTP מכיל את הקידוד/המטען הייעודי (Payload) בפורמט שאינו נתמכת ב-Apigee Edge.
  • מפרט HTTP:
RFC 7231, סעיף 6.5.13: 415 סוג מדיה לא נתמך
מדריך

security.util.*

security.util.KeyAliasNotFound

  • קוד מצב HTTP:
500 Internal Server Error
  • הודעת השגיאה:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • סיבה אפשרית:

השגיאה הזו מתרחשת אם ה-KeyAlias הספציפי שיש הפניה אליו בנקודת הקצה (TargetEndpoint) או TargetServer לא נמצאים ב-Keystore הספציפי.

תיקון

מוודאים שה-KeyAlias שצוין ב-TargetEndpoint או ב-TargetServer קיים והוא חלק מ-Keystore הספציפי.

security.util.TrustStoreWithNoCertificates

  • קוד מצב HTTP:
500 Internal Server Error
  • הודעת השגיאה:
TrustStore {truststore_name} has no certificates
  • סיבה אפשרית:

השגיאה הזו מתקבלת אם ה-Truststore הספציפי שיש הפניה אליו בנקודת הקצה (TargetEndpoint) או TargetServer לא מכיל אישורים.

תיקון

אם רוצים לאמת את האישור של שרת הקצה העורפי שרוצים להשתמש ב-Truststore ב-TargetEndpoint או ב-TargetServer, ואז מוודאים שה-Truststore מכיל את האישורים התקפים של שרת הקצה העורפי.