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

כרגע מוצג התיעוד של 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 ל-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.
  • אבל

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

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

תיקון

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

סרטון

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

סרטון

השגיאה הזאת יכולה להופיע גם אם שרת הקצה העורפי סוגר את החיבור מוקדם מדי בזמן שמעבד ההודעות עדיין שולח את המטען הייעודי (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
  • AND

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

תיקון

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

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

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

messaging.runtime.SenseRaiseFault

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

תיקון

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

  1. בודקים את הכללים שהוגדרו ב-Apigee Sense כדי לוודא שחסמתם את כתובת ה-IP הספציפית של הלקוח. אם הוא חסום, סימן שהוא פועל כמתוכנן.
  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, וגם
    • נתוני טופס שכוללים את סימן האחוז (%) או סימן האחוז (%) ואחריו תווים הקסדצימליים לא חוקיים, שאינם מותרים לפי Forms – סעיף 17.13.4.1.
  2. שרת ה-proxy של ה-API ב-Apigee Edge קורא את הפרמטרים הספציפיים של הטופס, שמכילים תווים שאסור להשתמש בהם באמצעות extracts או המדיניות 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: Field Value Components (רכיבי ערך שדה).

protocol.http.HeaderWithInvalidChar

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

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

תיקון

צריך לוודא שבקשת ה-HTTP שנשלחה על ידי אפליקציית הלקוח אל Apigee Edge לא מכילה תווים לא חוקיים בשמות הכותרות לפי RFC 7230, סעיף 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, סעיף 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
  • סיבה אפשרית:
השגיאה הזו מתרחשת אם גודל המטען הייעודי שנשלח על ידי אפליקציית הלקוח כחלק מבקשת ה-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 מכילה פורמט קידוד/מטען ייעודי שאינו נתמך על ידי 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
  • סיבה אפשרית:
השגיאה הזו מוצגת אם כתובת ה-URL של הבקשה של שרת הקצה העורפי, המיוצגת על ידי משתנה הזרימה 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, section 3.2: Header Fields.

protocol.http.EmptyPath

  • קוד מצב HTTP:
500 Internal Server Error
  • הודעת השגיאה:
Request path cannot be empty
  • סיבה אפשרית:
השגיאה הזו מתרחשת אם כתובת ה-URL של בקשת ה-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 Edge מכיל תווים שאינם ASCII.
  • מפרט HTTP:

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

תיקון

צריך לוודא שתגובת ה-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 מכיל תווים לא חוקיים כמו שווה (=), פסיק (,), נקודה ופסיק (;), Tab, CRLF ותו Newline.
  • מפרט HTTP:

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

תיקון

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

protocol.http.UnsupportedEncoding

  • קוד מצב HTTP:
415 Unsupported Media
  • הודעת השגיאה:
Unsupported Encoding "{encoding}"
  • סיבה אפשרית:
השגיאה הזו מתרחשת כשהכותרת Content-Encoding שנשלחת על ידי שרת הקצה העורפי כחלק מתגובת ה-HTTP מכילה את פורמט הקידוד/המטען הייעודי שאינו נתמך על ידי 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 מכיל אישורים חוקיים של שרת הקצה העורפי.