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

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

שגיאות ב-Apigee Edge

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

הערה: במדריך הזה מוסבר איך לפתור את בעיית קוד השגיאה 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. ה-API Proxy הספציפי הוא:
    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,
  • BUT

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

messaging.adaptors.http.flow.DecompressionFailureAtResponse

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

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

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

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

messaging.adaptors.http.flow.ErrorResponseCode

  • קוד מצב HTTP‏:
500

מדריך

סרטון

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

מדריך

סרטון

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

הערה: קוד השגיאה 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 במהלך תקופת הזמן הקצובה לתפוגה של קלט/פלט שהוגדרה במעבד ההודעות.
מדריך

messaging.adaptors.http.flow.LengthRequired

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

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

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

  • מפרט HTTP:
RFC Section 3.3.2: Content-Length

תיקון

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

  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) של הבקשה מאפליקציית הלקוח במהלך תקופת הזמן הקצובה לתפוקת קלט/פלט שהוגדרה ברכיב מעבד ההודעות.

תיקון

מוודאים שאפליקציית הלקוח שולחת את מטען הייעודי (payload) של הבקשה במסגרת זמן הקצוב לתפוקת קלט/פלט שהוגדר ברכיב Message Processor של 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. המארח של שרת היעד שצוין בנקודת היעד שגוי או מכיל תווים לא רצויים (כמו רווח).

מדריך

כשל ב-DNS:

סרטון

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

סרטון

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

messaging.adaptors.http.flow.SslHandshakeFailed

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

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

  1. מאגר האישורים של מעבד ההודעות ב-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. הגדרת פסק הזמן של Keep-alive ב-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. ה-API proxy ב-Apigee Edge קורא את הפרמטרים הספציפיים של הטופס שמכילים תווים שלא מורשים לשימוש באמצעות ExtractVariables או מדיניות AssignMessage בזרימת הבקשה.
מדריך

protocol.http.DuplicateHeader

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

protocol.http.EmptyHeaderName

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

תיקון

חשוב לוודא שבקשת ה-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, section 3.2: Header Fields and RFC 7230, section 3.2.6: Field Value Components

תיקון

מוודאים שבקשת ה-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, section 3.2: Header Fields and RFC 7230, section 3.2.6: Field Value Components

תיקון

מוודאים שבקשת ה-HTTP שנשלחת מאפליקציית הלקוח אל Apigee Edge לא מכילה תווים לא תקינים בשמות הכותרות, בהתאם ל- RFC 7230, section 3.2.6: Field Value Components

protocol.http.InvalidPath

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

RFC 3986, section 3: Syntax Components and RFC 3986, section 3.3: Path

תיקון

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

protocol.http.MessageReadError

  • קוד מצב HTTP‏:
502 Bad Gateway
  • הודעת שגיאה:
Unexpected I/O after message headers have been read.
  • סיבה אפשרית:
השגיאה הנדירה הזו מתרחשת כש-MP מקבל קלט/פלט בערוץ כשהוא לא מצפה לכך. ה-MP קורא בקשה, קרא את כל הכותרות ומוגדר לקרוא את מטען הבקשה. אחר כך הוא נתקל באירוע קלט/פלט שנראה שמתייחס לאותן כותרות.

תיקון

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

logger.atSevere().log(
    "Unexpected I/O after message headers have been read. Channel diagnostics=%s."
        + " HeartBeat=%s",
    input.client().getDiagnostic(), message.getHeaders().isHeartBeat());
                

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, section 5: 431 Request Header Fields Too Large
  • מגבלות:
Apigee Edge Limits
מדריך

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 מכילה קידוד או פורמט מטען ייעודי שלא נתמכים על ידי Apigee Edge.
  • מפרט HTTP:
RFC 7231, section 6.5.13: 415 Unsupported Media Type
מדריך

protocol.http.* - Caused by target

protocol.http.BadPath

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

RFC 3986, section 3: Syntax Components and RFC 3986, section 3.3: Path

מדריך

protocol.http.DuplicateHeader

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

protocol.http.EmptyHeaderName

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

תיקון

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

protocol.http.EmptyPath

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

RFC 3986, section 3: Syntax Components and RFC 3986, section 3.3: Path

מדריך

protocol.http.HeaderNameWithNonAsciiChar

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

RFC 7230, section 3.2: Header Fields and RFC 7230, section 3.2.6: Field Value Components

תיקון

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

protocol.http.HeaderWithInvalidChar

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

RFC 7230, section 3.2: Header Fields and RFC 7230, section 3.2.6: Field Value Components

תיקון

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

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, section 6.3.5: 306 Reserved

תיקון

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

protocol.http.Response405WithoutAllowHeader

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

RFC 7231, section 6.5.5: 405 Method Not Allowed and RFC 7231, section 7.4.1: Allow

מדריך

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, section 6.3.5: 204 No Content and RFC 7231, section 6.3.6: 205 Reset Content

מדריך

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 Limits
מדריך

protocol.http.TooBigLine

  • קוד מצב HTTP‏:
502 Bad Gateway
  • הודעת שגיאה:
response 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, section 6.5.13: 415 Unsupported Media Type
מדריך

security.util.*

security.util.KeyAliasNotFound

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

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

תיקון

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

security.util.TrustStoreWithNoCertificates

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

השגיאה הזו מתרחשת אם מאגר האישורים הספציפי שאליו יש הפניה ב-TargetEndpoint או ב-TargetServer לא מכיל אישורים.

תיקון

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