रनटाइम से जुड़ी गड़बड़ियों का कैटलॉग

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं.
info

Apigee Edge में गड़बड़ियां

Apigee Edge के ज़रिए एपीआई अनुरोध किए जाने पर, Apigee Edge के कॉम्पोनेंट, जैसे कि राउटर और मैसेज प्रोसेसर या बैकएंड सर्वर, क्लाइंट ऐप्लिकेशन को गड़बड़ियां दिखा सकते हैं.

मैसेज प्रोसेसर से जुड़ी गड़बड़ियां

मैसेज प्रोसेसर, Apigee Edge का मुख्य कॉम्पोनेंट होता है. यह नीतियों को प्रोसेस करता है और बैकएंड सर्वर के साथ इंटरैक्ट करता है. अगर इसे कोई समस्या मिलती है, तो यह गड़बड़ियों की जानकारी दे सकता है. जैसे:

  • नेटवर्क कनेक्टिविटी की समस्याएं, टीएलएस हैंडशेक की गड़बड़ियां, बैकएंड सर्वर के उपलब्ध न होने की वजह से, बैकएंड सर्वर से कम्यूनिकेट करते समय जवाब न मिलना
  • नीति लागू करने के दौरान गड़बड़ियां
  • अमान्य एचटीटीपी हेडर, एन्कोडिंग, पाथ, एचटीटीपी स्पेसिफ़िकेशन का पालन न करना, प्रॉडक्ट की सीमाएं पार करना वगैरह:
    • क्लाइंट ऐप्लिकेशन से भेजे गए एचटीटीपी अनुरोध के साथ
    • या

    • बैकएंड सर्वर से भेजे गए एचटीटीपी रिस्पॉन्स के साथ
  • और भी कई

मैसेज प्रोसेसर से जुड़ी गड़बड़ी का सैंपल

मैसेज प्रोसेसर हमेशा एचटीटीपी स्टेटस कोड दिखाता है. इसके बाद, गड़बड़ी का मैसेज और 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 Message Processor कॉम्पोनेंट से मिले रनटाइम गड़बड़ी के कोड (नीति से जुड़ी गड़बड़ियों के अलावा) के बारे में जानने की ज़रूरत वाली सभी जानकारी दी गई है. इसमें हर गड़बड़ी कोड के लिए यह जानकारी शामिल होती है:

  • एचटीटीपी स्टेटस कोड
  • गड़बड़ी का मैसेज
  • गड़बड़ी की संभावित वजहें
  • एचटीटीपी से जुड़े स्पेसिफ़िकेशन और/या प्रॉडक्ट की सीमाएं
  • ऐसी प्लेबुक और वीडियो जिनमें गड़बड़ी की वजह का पता लगाने के निर्देश दिए गए हों. साथ ही, गड़बड़ी को ठीक करने के असरदार तरीके बताए गए हों, जिन्हें लागू करके गड़बड़ी को ठीक किया जा सकता हो (जहां उपलब्ध हो)
  • गड़बड़ी को ठीक करने के लिए, खुद से लागू किए जा सकने वाले तरीके

गड़बड़ी कोड की इन कैटगरी को कवर किया गया है:

नीचे दिए गए खोजें बॉक्स का इस्तेमाल करके, टेबल को फ़िल्टर करें. इससे आपको किसी खास गड़बड़ी कोड के लिए ऊपर दी गई जानकारी दिखेगी. टेबल में मौजूद किसी भी फ़ील्ड में, स्टेटस कोड या कोई भी कॉन्टेंट खोजा जा सकता है.

गड़बड़ी का कोड ब्यौरा ठीक करें

flow.*

flow.APITimedOut

  • एचटीटीपी स्टेटस कोड:
504 Gateway Timeout
  • गड़बड़ी का मैसेज:
API timed out
  • संभावित वजह:

यह गड़बड़ी तब होती है, जब:

  • बैकएंड सर्वर, एपीआई प्रॉक्सी के लिए api.timeout प्रॉपर्टी से कॉन्फ़िगर किए गए टाइमआउट की अवधि के अंदर जवाब नहीं देता है.
  • कैलकुलेशन से जुड़ी कार्रवाइयों, ज़्यादा लोड या खराब परफ़ॉर्मेंस की वजह से, नीति को लागू होने में ज़्यादा समय लगता है.

ध्यान दें: इस प्लेबुक में, गड़बड़ी कोड messaging.adaptors.http.flow.GatewayTimeout को ठीक करने के निर्देश दिए गए हैं. हालांकि, flow.APITimedOut गड़बड़ी कोड को ठीक करने के लिए भी इसी प्लेबुक का इस्तेमाल किया जा सकता है.

PLAYBOOK

flow.SharedFlowNotFound

  • एचटीटीपी स्टेटस कोड:
500 Internal Server Error
  • गड़बड़ी का मैसेज:
Shared Flow {shared_flow_name} Not Found
  • संभावित वजह:

यह गड़बड़ी तब होती है, जब शेयर किया गया फ़्लो:

  • मौजूद नहीं है
  • या

  • मौजूद है, लेकिन डिप्लॉय नहीं किया गया है
PLAYBOOK

messaging.adaptors.http.flow

messaging.adaptors.http.flow.ApplicationNotFound

  • एचटीटीपी स्टेटस कोड:
404 Not Found
  • गड़बड़ी का मैसेज:
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix}
  • संभावित वजह:

यह गड़बड़ी इनमें से किसी एक वजह से होती है:

  1. एपीआई प्रॉक्सी यह है:
    1. यह वर्चुअल होस्ट, अनुरोध स्वीकार करने के लिए कॉन्फ़िगर नहीं किया गया है
    2. अनुरोध में इस्तेमाल किए गए पाथ पर अनुरोध स्वीकार करने के लिए कॉन्फ़िगर नहीं किया गया है
    3. उस एनवायरमेंट में डिप्लॉय नहीं किया गया है जिसमें आपको एपीआई अनुरोध करने हैं
    4. एक या उससे ज़्यादा मैसेज प्रोसेसर पर डिप्लॉय नहीं किया गया है
  2. जिस एनवायरमेंट में एपीआई अनुरोध किए जा रहे हैं वह एक या उससे ज़्यादा मैसेज प्रोसेसर पर लोड नहीं है
PLAYBOOK
यह गड़बड़ी तब भी हो सकती है, जब कई वर्चुअल होस्ट के लिए एक ही होस्ट एलियास और पोर्ट नंबर का इस्तेमाल किया गया हो. PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • एचटीटीपी स्टेटस कोड:
400 Bad Request
  • गड़बड़ी का मैसेज:
Decompression failure at request
  • संभावित वजह:

यह गड़बड़ी सिर्फ़ तब होती है, जब:

  • एचटीटीपी अनुरोध के हेडर Content-Encoding में दी गई एन्कोडिंग मान्य है और Apigee Edge के साथ काम करती है,
  • BUT

  • क्लाइंट ने एचटीटीपी अनुरोध के हिस्से के तौर पर जो पेलोड फ़ॉर्मैट भेजा है वह Content-Encoding हेडर में दिए गए एन्कोडिंग फ़ॉर्मैट से मेल नहीं खाता
PLAYBOOK

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Decompression failure at response
  • संभावित वजह:

यह गड़बड़ी सिर्फ़ तब होती है, जब:

  • बैकएंड/टारगेट सर्वर के एचटीटीपी रिस्पॉन्स हेडर Content-Encoding में दी गई एन्कोडिंग मान्य है और Apigee Edge के साथ काम करती है,
  • BUT

  • एचटीटीपी रिस्पॉन्स के हिस्से के तौर पर बैकएंड/टारगेट सर्वर से भेजा गया पेलोड फ़ॉर्मैट, Content-Encoding हेडर में बताए गए एन्कोडिंग फ़ॉर्मैट से मेल नहीं खाता
PLAYBOOK

messaging.adaptors.http.flow.ErrorResponseCode

  • एचटीटीपी स्टेटस कोड:
500

PLAYBOOK

VIDEO

  • गड़बड़ी का मैसेज:
गड़बड़ी का मैसेज और फ़ॉर्मैट, बैकएंड सर्वर के लागू करने के तरीके के हिसाब से अलग-अलग हो सकता है.
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब बैकएंड सर्वर, Apigee Edge को 500 स्टेटस कोड के साथ जवाब देता है.
  • एचटीटीपी स्टेटस कोड:
503

PLAYBOOK

VIDEO

  • गड़बड़ी का मैसेज:
गड़बड़ी का मैसेज और फ़ॉर्मैट, बैकएंड सर्वर के लागू करने के तरीके के हिसाब से अलग-अलग हो सकता है.
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब बैकएंड सर्वर, Apigee Edge को 503 स्टेटस कोड के साथ जवाब देता है.
  • एचटीटीपी स्टेटस कोड:
504 PLAYBOOK
  • गड़बड़ी का मैसेज:
गड़बड़ी का मैसेज और फ़ॉर्मैट, बैकएंड सर्वर के लागू करने के तरीके के हिसाब से अलग-अलग हो सकता है.
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब बैकएंड सर्वर, Apigee Edge को 504 स्टेटस कोड के साथ जवाब देता है.

ध्यान दें: क्लाइंट ऐप्लिकेशन को भेजे गए गड़बड़ी के मैसेज में, गड़बड़ी का कोड messaging.adaptors.http.flow.ErrorResponseCode शामिल नहीं होता. ऐसा इसलिए होता है, क्योंकि यह गड़बड़ी कोड Apigee Edge सेट करता है. ऐसा तब होता है, जब बैकएंड सर्वर गड़बड़ी के साथ-साथ 4XX या 5XX स्टेटस कोड में से कोई एक कोड दिखाता है. इस गड़बड़ी के कोड को एपीआई मॉनिटरिंग, NGINX ऐक्सेस लॉग या ऐनलिटिक्स डेटाबेस में देखा जा सकता है.

messaging.adaptors.http.flow.GatewayTimeout

  • एचटीटीपी स्टेटस कोड:
504 Gateway Timeout
  • गड़बड़ी का मैसेज:
Gateway Timeout
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब बैकएंड सर्वर, Apigee Edge Message Processor को I/O टाइमआउट की अवधि के अंदर जवाब नहीं देता है. यह अवधि, Message Processor पर कॉन्फ़िगर की जाती है.
PLAYBOOK

messaging.adaptors.http.flow.LengthRequired

  • एचटीटीपी स्टेटस कोड:
411 Length Required
  • गड़बड़ी का मैसेज:
'Content-Length' is missing
  • संभावित वजह:

यह गड़बड़ी तब होती है, जब क्लाइंट ऐप्लिकेशन, Apigee Edge को भेजे गए एचटीटीपी POST और PUT अनुरोधों के हिस्से के तौर पर, Content-Length हेडर को पास नहीं करता है.

ध्यान दें: इस गड़बड़ी की वजह से पूरे न होने वाले अनुरोधों को Trace टूल में कैप्चर नहीं किया जा सकता. ऐसा इसलिए, क्योंकि Message Processor इस पुष्टि को बहुत शुरुआती चरण में करता है. यह अनुरोध को प्रोसेस करने और एपीआई प्रॉक्सी में किसी भी नीति को लागू करने से पहले किया जाता है.

  • एचटीटीपी स्पेसिफ़िकेशन:
RFC Section 3.3.2: Content-Length

ठीक करें

इस गड़बड़ी को ठीक करने के लिए, यह तरीका अपनाएं:

  1. पक्का करें कि क्लाइंट ऐप्लिकेशन, Apigee Edge को भेजे गए एचटीटीपी POST और PUT अनुरोधों के हिस्से के तौर पर, हमेशा Content-Length हेडर पास करे. उदाहरण के लिए:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. अगर POST और PUT अनुरोधों के साथ खाली पेलोड पास किया जा रहा है, तब भी पक्का करें कि हेडर Content-Length: 0 पास किया गया हो. उदाहरण के लिए:

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

messaging.adaptors.http.flow.NoActiveTargets

  • एचटीटीपी स्टेटस कोड:
503 Service Unavailable
  • गड़बड़ी का मैसेज:
The Service is temporarily unavailable
  • संभावित वजह:

अगर Apigee Edge में TargetServer का इस्तेमाल किया जा रहा है, तो यह गड़बड़ी इनमें से किसी एक वजह से होती है:

  1. कस्टम ऑथराइज़ेशन सर्वर की वजह से, बैकएंड सर्वर होस्ट के डीएनएस रिज़ॉल्यूशन में गड़बड़ी हुई. इससे आईपी पते गलत हो गए और कनेक्शन की गड़बड़ियां हुईं.
  2. कनेक्शन टाइमआउट से जुड़ी गड़बड़ियां इन वजहों से होती हैं:
    1. बैकएंड सर्वर पर फ़ायरवॉल की पाबंदी की वजह से, Apigee Edge, बैकएंड सर्वर से कनेक्ट नहीं हो पाता.
    2. Apigee Edge और बैकएंड सर्वर के बीच नेटवर्क कनेक्टिविटी से जुड़ी समस्याएं.
  3. TargetServer में दिया गया होस्टनेम गलत है या उसमें अवांछित वर्ण (जैसे कि स्पेस) मौजूद हैं.

PLAYBOOK

VIDEO

यह गड़बड़ी तब भी हो सकती है, जब टारगेट सर्वर के हेल्थ चेक की निगरानी के लिए कॉन्फ़िगर किए गए हेल्थ चेक पूरे न हो पाएं.

PLAYBOOK

VIDEO

messaging.adaptors.http.flow.RequestTimeOut

  • एचटीटीपी स्टेटस कोड:
408 Request Timeout
  • गड़बड़ी का मैसेज:
Request timed out
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब Apigee Edge Message Processor को क्लाइंट ऐप्लिकेशन से अनुरोध पेलोड नहीं मिलता. ऐसा तब होता है, जब Message Processor कॉम्पोनेंट पर कॉन्फ़िगर किए गए I/O टाइमआउट की अवधि खत्म हो जाती है.

ठीक करें

पक्का करें कि क्लाइंट ऐप्लिकेशन, Apigee Edge के Message Processor कॉम्पोनेंट पर कॉन्फ़िगर किए गए I/O टाइमआउट की अवधि के अंदर अनुरोध पेलोड भेजता हो.

messaging.adaptors.http.flow.ServiceUnavailable

  • एचटीटीपी स्टेटस कोड:
503 Service Unavailable
  • गड़बड़ी का मैसेज:
The Service is temporarily unavailable
  • संभावित वजह:

यह गड़बड़ी इनमें से किसी एक वजह से होती है:

  1. कस्टम ऑथराइज़ेशन सर्वर ने बैकएंड सर्वर के होस्ट का डीएनएस रिज़ॉल्यूशन गलत तरीके से किया. इससे आईपी पते गलत हो गए और कनेक्शन की गड़बड़ियां हुईं.
  2. कनेक्शन टाइमआउट की गड़बड़ियां, इन वजहों से हो सकती हैं:
    1. बैकएंड सर्वर पर फ़ायरवॉल की पाबंदी की वजह से, Apigee Edge, बैकएंड सर्वर से कनेक्ट नहीं हो पाता.
    2. Apigee Edge और बैकएंड सर्वर के बीच नेटवर्क कनेक्टिविटी से जुड़ी समस्याएं.
  3. टारगेट एंडपॉइंट में दिया गया टारगेट सर्वर होस्ट गलत है या उसमें स्पेस जैसे अवांछित वर्ण हैं.

PLAYBOOK

डीएनएस लुकअप प्रोसेस में गड़बड़ी हुई:

VIDEO

नेटवर्क कनेक्टिविटी:

VIDEO

यह गड़बड़ी तब भी हो सकती है, जब मैसेज प्रोसेसर, बैकएंड सर्वर को अनुरोध पेलोड भेज रहा हो और बैकएंड सर्वर कनेक्शन बंद कर दे. PLAYBOOK

messaging.adaptors.http.flow.SslHandshakeFailed

  • एचटीटीपी स्टेटस कोड:
503 Service Unavailable
  • गड़बड़ी का मैसेज:
SSL Handshake failed {error_message}
  • संभावित वजह:

यह गड़बड़ी, Apigee Edge के मैसेज प्रोसेसर और बैकएंड सर्वर के बीच एसएसएल हैंडशेक की प्रोसेस के दौरान होती है. ऐसा तब होता है, जब:

  1. Apigee Edge के मैसेज प्रोसेसर का ट्रस्टस्टोर:
    • इसमें ऐसी सर्टिफ़िकेट चेन शामिल है जो बैकएंड सर्वर की पूरी सर्टिफ़िकेट चेन से मेल नहीं खाती
    • या

    • इसमें बैकएंड सर्वर की पूरी सर्टिफ़िकेट चेन शामिल नहीं है
  2. बैकएंड सर्वर से मिली सर्टिफ़िकेट चेन:
    • इसमें ऐसा पूरी तरह क्वालिफ़ाइड डोमेन नेम (एफ़क्यूडीएन) शामिल है जो टारगेट एंडपॉइंट में दिए गए होस्ट नेम से मेल नहीं खाता
    • या

    • इसमें गलत/अधूरा सर्टिफ़िकेट चेन शामिल है

PLAYBOOK

VIDEO

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Unexpected EOF at target
  • संभावित वजह:

यह गड़बड़ी इनमें से किसी एक वजह से होती है:

  1. Apigee Edge में TLS/एसएसएल कनेक्शन के साथ काम करने के लिए, TargetServer को ठीक से कॉन्फ़िगर नहीं किया गया है.
  2. Apigee Edge, बैकएंड सर्वर से जवाब मिलने का इंतज़ार कर रहा होता है. इस दौरान, बैकएंड सर्वर अचानक कनेक्शन बंद कर सकता है.
  3. Apigee और बैकएंड सर्वर पर, कीप अलाइव टाइमआउट को गलत तरीके से कॉन्फ़िगर किया गया है.
PLAYBOOK

messaging.runtime.*

messaging.runtime.RouteFailed

  • एचटीटीपी स्टेटस कोड:
500 Internal Server Error
  • गड़बड़ी का मैसेज:
Unable to route the message to a TargetEndpoint
  • संभावित वजह:

यह गड़बड़ी तब होती है, जब Apigee Edge, अनुरोध को किसी भी TargetEndpoint पर रूट नहीं कर पाता. इसकी वजह यह हो सकती है:

  • कोई ऐसा रूट नियम (<RouteRule>) नहीं है जो प्रॉक्सी में मौजूद अनुरोध से मेल खाता हो
  • और

  • ProxyEndpoint में कोई डिफ़ॉल्ट रूट नियम तय नहीं किया गया है (जैसे, <RouteRule> बिना किसी शर्त के)

ठीक करें

इस गड़बड़ी को ठीक करने के लिए, यह तरीका अपनाएं:

  1. अपने ProxyEndpoint में तय किए गए रूट के नियमों की समीक्षा करें और उनमें बदलाव करें. इससे यह पक्का किया जा सकेगा कि कम से कम एक रूट के नियम की शर्त आपके अनुरोध से मेल खाती हो.
  2. जब आपके पास कई RouteRule हों, तो बिना किसी शर्त के डिफ़ॉल्ट रूट का नियम तय करना एक अच्छा तरीका है.
  3. पक्का करें कि डिफ़ॉल्ट रूट का नियम, शर्तों के साथ रूट तय करने वाले नियमों की सूची में हमेशा आखिर में तय किया गया हो. ऐसा इसलिए, क्योंकि ProxyEndpoint में नियमों का आकलन ऊपर से नीचे की ओर किया जाता है.

<RouteRule> की शर्तों को ProxyEndpoint में तय करने के बारे में ज़्यादा जानने के लिए, शर्तों के आधार पर टारगेट करना लेख पढ़ें.

messaging.runtime.SenseRaiseFault

  • एचटीटीपी स्टेटस कोड:
403 Forbidden
  • गड़बड़ी का मैसेज:
Sense Fault
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब किसी ऐसे क्लाइंट आईपी पते से एपीआई का अनुरोध किया जाता है जिसे Apigee Sense के नियमों के तहत ब्लॉक किया गया है.

ठीक करें

इस गड़बड़ी को ठीक करने के लिए, यह तरीका अपनाएं:

  1. पुष्टि करें कि आपने किसी क्लाइंट के आईपी पते को ब्लॉक कर दिया है. इसके लिए, Apigee Sense में कॉन्फ़िगर किए गए नियमों की जांच करें. अगर यह ब्लॉक है, तो इसका मतलब है कि यह सुविधा ठीक से काम कर रही है.
  2. अगर किसी क्लाइंट के आईपी पते को ब्लॉक नहीं किया गया है, लेकिन आपको अब भी यह गड़बड़ी दिख रही है, तो Apigee Edge की सहायता टीम से संपर्क करें.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • एचटीटीपी स्टेटस कोड:
500 Internal Server Error
  • गड़बड़ी का मैसेज:
Bad Form Data
  • संभावित वजह:

यह गड़बड़ी सिर्फ़ तब होती है, जब ये सभी शर्तें पूरी होती हैं:

  1. क्लाइंट ने Apigee Edge को जो एचटीटीपी अनुरोध भेजा है उसमें यह जानकारी शामिल है:
    • Content-Type: application/x-www-form-urlencoded, और
    • फ़ॉर्म डेटा में प्रतिशत का निशान (%) या प्रतिशत के निशान (%) के बाद अमान्य हेक्साडेसिमल वर्ण मौजूद हैं. इन्हें फ़ॉर्म - सेक्शन 17.13.4.1 के मुताबिक इस्तेमाल करने की अनुमति नहीं है.
  2. Apigee Edge में मौजूद एपीआई प्रॉक्सी, फ़ॉर्म के उन पैरामीटर को पढ़ती है जिनमें ऐसे वर्ण शामिल होते हैं जिनका इस्तेमाल करने की अनुमति नहीं है. ऐसा, अनुरोध फ़्लो में ExtractVariables या AssignMessage नीति का इस्तेमाल करके किया जाता है.
PLAYBOOK

protocol.http.DuplicateHeader

  • एचटीटीपी स्टेटस कोड:
400 Bad Request
  • गड़बड़ी का मैसेज:
Duplicate Header "{header_name}"
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब Apigee Edge में डुप्लीकेट होने की अनुमति नहीं रखने वाला कोई खास एचटीटीपी हेडर, Apigee Edge को क्लाइंट ऐप्लिकेशन से भेजे गए एचटीटीपी अनुरोध के हिस्से के तौर पर एक से ज़्यादा बार दिखता है. ऐसा तब होता है, जब उसकी वैल्यू एक जैसी या अलग-अलग होती हैं.
  • एचटीटीपी स्पेसिफ़िकेशन:
आरएफ़सी 7230, सेक्शन 3.2.2: फ़ील्ड का क्रम
PLAYBOOK

protocol.http.EmptyHeaderName

  • एचटीटीपी स्टेटस कोड:
400 Bad Request
  • गड़बड़ी का मैसेज:
Header name cannot be empty
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब क्लाइंट ऐप्लिकेशन, Apigee Edge को एचटीटीपी अनुरोध के हिस्से के तौर पर भेजे गए हेडर का नाम खाली हो.
  • एचटीटीपी स्पेसिफ़िकेशन:
आरएफ़सी 7230, सेक्शन 3.2: हेडर फ़ील्ड

ठीक करें

पक्का करें कि क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजे गए एचटीटीपी अनुरोध में, हमेशा आरएफ़सी 7230, सेक्शन 3.2: हेडर फ़ील्ड के मुताबिक, मान्य हेडर का नाम शामिल हो.

protocol.http.HeaderNameWithNonAsciiChar

  • एचटीटीपी स्टेटस कोड:
400 Bad Request
  • गड़बड़ी का मैसेज:
Header {header_name} contains non ascii character {character}
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजे गए एचटीटीपी अनुरोध में शामिल हेडर के नाम में, ASCII के बाहर के वर्ण शामिल होते हैं.
  • एचटीटीपी स्पेसिफ़िकेशन:

आरएफ़सी 7230, सेक्शन 3.2: हेडर फ़ील्ड और आरएफ़सी 7230, सेक्शन 3.2.6: फ़ील्ड वैल्यू कॉम्पोनेंट

ठीक करें

पक्का करें कि Apigee Edge को भेजे गए क्लाइंट के एचटीटीपी अनुरोध में, हेडर के नामों में गैर-ASCII वर्ण शामिल न हों. इसके लिए, आरएफ़सी 7230, सेक्शन 3.2.6: फ़ील्ड वैल्यू कॉम्पोनेंट देखें.

protocol.http.HeaderWithInvalidChar

  • एचटीटीपी स्टेटस कोड:
400 Bad Request
  • गड़बड़ी का मैसेज:
Header {header_name} contains invalid character {character}
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजी गई एचटीटीपी अनुरोध में शामिल हेडर के नाम में अमान्य वर्ण शामिल हों. जैसे, बराबर (=), कॉमा (,), सेमीकोलन (;), टैब, CRLF, और न्यूलाइन वर्ण.
  • एचटीटीपी स्पेसिफ़िकेशन:

आरएफ़सी 7230, सेक्शन 3.2: हेडर फ़ील्ड और आरएफ़सी 7230, सेक्शन 3.2.6: फ़ील्ड वैल्यू कॉम्पोनेंट

ठीक करें

पक्का करें कि क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजे गए एचटीटीपी अनुरोध में, हेडर के नामों में कोई अमान्य वर्ण शामिल न हो. यह RFC 7230, सेक्शन 3.2.6: फ़ील्ड वैल्यू कॉम्पोनेंट के मुताबिक होना चाहिए

protocol.http.InvalidPath

  • एचटीटीपी स्टेटस कोड:
400 Bad Request
  • गड़बड़ी का मैसेज:
Invalid path {path}
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजे गए एचटीटीपी अनुरोध यूआरएल के पाथ में ऐसे वर्ण शामिल हों जिन्हें RFC 3986, सेक्शन 3.3: पाथ के स्पेसिफ़िकेशन के मुताबिक अनुमति नहीं है.
  • एचटीटीपी स्पेसिफ़िकेशन:

आरएफ़सी 3986, सेक्शन 3: सिंटैक्स कॉम्पोनेंट और आरएफ़सी 3986, सेक्शन 3.3: पाथ

ठीक करें

पक्का करें कि क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजे गए एचटीटीपी अनुरोध यूआरएल के पाथ में ऐसे वर्ण शामिल न हों जिन्हें आरएफ़सी 3986, सेक्शन 3.3: पाथ के मुताबिक अनुमति नहीं है.

protocol.http.MessageReadError

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Unexpected I/O after message headers have been read.
  • संभावित वजह:
यह गड़बड़ी कभी-कभी तब होती है, जब MP को किसी चैनल पर I/O मिलता है, जबकि उसे इसकी उम्मीद नहीं होती. एमपी, अनुरोध पढ़ रहा है. उसने सभी हेडर पढ़ लिए हैं और अब वह अनुरोध के पेलोड को पढ़ने के लिए तैयार है. इसके बाद, इसे एक I/O इवेंट मिलता है, जो एक ही हेडर के लिए होता है.

ठीक करें

क्या हो रहा है, इस बारे में ज़्यादा जानकारी पाने के लिए लॉग मैसेज ढूंढें.

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

  • एचटीटीपी स्टेटस कोड:
413 Request Entity Too Large
  • गड़बड़ी का मैसेज:
Body buffer overflow
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजे गए एचटीटीपी अनुरोध के पेलोड का साइज़, Apigee Edge में तय की गई सीमा से ज़्यादा हो.
  • सीमाएं:
Apigee Edge की सीमाएं
PLAYBOOK

protocol.http.TooBigHeaders

  • एचटीटीपी स्टेटस कोड:
431 Request Header Fields Too Large
  • गड़बड़ी का मैसेज:
request headers size exceeding {limit}
  • संभावित वजह:
क्लाइंट ऐप्लिकेशन ने Apigee Edge को एचटीटीपी अनुरोध के तौर पर जो अनुरोध हेडर भेजे हैं उनका कुल साइज़, Apigee Edge में तय की गई सीमा से ज़्यादा है.
  • एचटीटीपी स्पेसिफ़िकेशन:
आरएफ़सी 6585, सेक्शन 5: 431 Request Header Fields Too Large
  • सीमाएं:
Apigee Edge की सीमाएं
PLAYBOOK

protocol.http.TooBigLine

  • एचटीटीपी स्टेटस कोड:
414 Request-URI Too Long
  • गड़बड़ी का मैसेज:
request line size exceeding {limit}
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजे गए एचटीटीपी अनुरोध के हिस्से के तौर पर, अनुरोध लाइन का साइज़ Apigee Edge में तय की गई सीमा से ज़्यादा हो.
  • सीमाएं:
Apigee Edge की सीमाएं
PLAYBOOK

protocol.http.UnsupportedEncoding

  • एचटीटीपी स्टेटस कोड:
415 Unsupported Media
  • गड़बड़ी का मैसेज:
Unsupported Encoding "{encoding}"
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब क्लाइंट की ओर से भेजे गए Content-Encoding हेडर में, एचटीटीपी रिस्पॉन्स के हिस्से के तौर पर ऐसा एन्कोडिंग/पेलोड फ़ॉर्मैट होता है जो Apigee Edge के साथ काम नहीं करता.
  • एचटीटीपी स्पेसिफ़िकेशन:
RFC 7231, सेक्शन 6.5.13: 415 Unsupported Media Type
PLAYBOOK

protocol.http.* - Caused by target

protocol.http.BadPath

  • एचटीटीपी स्टेटस कोड:
500 Internal Server Error
  • गड़बड़ी का मैसेज:
Invalid request path
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब बैकएंड सर्वर के अनुरोध यूआरएल में ऐसा पाथ शामिल हो जो फ़्लो वैरिएबल target.url से दिखाया जाता है. इस पाथ की शुरुआत फ़ॉरवर्ड स्लैश (/) के बजाय प्रश्न चिह्न (?) से होती है. यह अमान्य है.
  • एचटीटीपी स्पेसिफ़िकेशन:

आरएफ़सी 3986, सेक्शन 3: सिंटैक्स कॉम्पोनेंट और आरएफ़सी 3986, सेक्शन 3.3: पाथ

PLAYBOOK

protocol.http.DuplicateHeader

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Duplicate Header "{header_name}"
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब Apigee Edge में डुप्लीकेट की अनुमति नहीं रखने वाला कोई खास एचटीटीपी हेडर, Apigee Edge को बैकएंड सर्वर से भेजे गए एचटीटीपी रिस्पॉन्स के हिस्से के तौर पर एक से ज़्यादा बार दिखता है. ऐसा तब होता है, जब उसकी वैल्यू एक जैसी या अलग-अलग होती हैं.
  • एचटीटीपी स्पेसिफ़िकेशन:
आरएफ़सी 7230, सेक्शन 3.2.2: फ़ील्ड का क्रम
PLAYBOOK

protocol.http.EmptyHeaderName

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Header name cannot be empty
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब Apigee Edge को एचटीटीपी रिस्पॉन्स के तौर पर बैकएंड सर्वर से भेजा गया हेडर का नाम खाली हो.
  • एचटीटीपी स्पेसिफ़िकेशन:
आरएफ़सी 7230, सेक्शन 3.2: हेडर फ़ील्ड

ठीक करें

पक्का करें कि बैकएंड सर्वर से Apigee Edge को भेजे गए एचटीटीपी रिस्पॉन्स में, आरएफ़सी 7230, सेक्शन 3.2: हेडर फ़ील्ड के मुताबिक हमेशा मान्य हेडर का नाम शामिल हो.

protocol.http.EmptyPath

  • एचटीटीपी स्टेटस कोड:
500 Internal Server Error
  • गड़बड़ी का मैसेज:
Request path cannot be empty
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब बैकएंड सर्वर के एचटीटीपी अनुरोध यूआरएल में कोई पाथ नहीं होता. इस यूआरएल को फ़्लो वैरिएबल target.url से दिखाया जाता है.
  • एचटीटीपी स्पेसिफ़िकेशन:

आरएफ़सी 3986, सेक्शन 3: सिंटैक्स कॉम्पोनेंट और आरएफ़सी 3986, सेक्शन 3.3: पाथ

PLAYBOOK

protocol.http.HeaderNameWithNonAsciiChar

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Header {header_name} contains non ascii character {character}
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब Apigee Edge को एचटीटीपी रिस्पॉन्स के तौर पर बैकएंड सर्वर से भेजे गए हेडर के नाम में, ASCII के बाहर के वर्ण शामिल हों.
  • एचटीटीपी स्पेसिफ़िकेशन:

आरएफ़सी 7230, सेक्शन 3.2: हेडर फ़ील्ड और आरएफ़सी 7230, सेक्शन 3.2.6: फ़ील्ड वैल्यू कॉम्पोनेंट

ठीक करें

पक्का करें कि Apigee Edge को भेजे गए बैकएंड सर्वर के एचटीटीपी रिस्पॉन्स में, हेडर के नामों में गैर-ASCII वर्ण शामिल न हों. इसके लिए, RFC 7230, सेक्शन 3.2.6: फ़ील्ड वैल्यू कॉम्पोनेंट देखें.

protocol.http.HeaderWithInvalidChar

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Header {header_name} contains invalid character {character}
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब एचटीटीपी रिस्पॉन्स के हिस्से के तौर पर बैकएंड सर्वर से भेजे गए हेडर के नाम में अमान्य वर्ण शामिल हों. जैसे, बराबर (=), कॉमा (,), सेमीकोलन (;), टैब, CRLF, और न्यूलाइन वर्ण.
  • एचटीटीपी स्पेसिफ़िकेशन:

आरएफ़सी 7230, सेक्शन 3.2: हेडर फ़ील्ड और आरएफ़सी 7230, सेक्शन 3.2.6: फ़ील्ड वैल्यू कॉम्पोनेंट

ठीक करें

पक्का करें कि Apigee Edge को भेजे गए बैकएंड सर्वर के एचटीटीपी रिस्पॉन्स में, हेडर के नामों में कोई अमान्य वर्ण शामिल न हो. यह RFC 7230, सेक्शन 3.2.6: फ़ील्ड वैल्यू कॉम्पोनेंट के मुताबिक होना चाहिए

protocol.http.ProxyTunnelCreationFailed

  • एचटीटीपी स्टेटस कोड:
503 Service Unavailable
  • गड़बड़ी का मैसेज:
Proxy refused to create tunnel with response status {status code}
  • संभावित वजह:

यह गड़बड़ी, फ़ायरवॉल, एसीएल (ऐक्सेस कंट्रोल लिस्ट), डीएनएस से जुड़ी समस्याओं, बैकएंड सर्वर की उपलब्धता वगैरह की वजह से, प्रॉक्सी सर्वर के ज़रिए Apigee Edge और बैकएंड सर्वर के बीच टनल बनाते समय होती है.

ध्यान दें: गड़बड़ी के मैसेज में मौजूद स्टेटस कोड (faultstring) से, समस्या की मुख्य वजह का पता चलता है.

PLAYBOOK

protocol.http.Response306Reserved

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Response Status code 306 is reserved, so can't be used.
  • संभावित वजह:

यह गड़बड़ी तब होती है, जब बैकएंड सर्वर, Apigee Edge को 306 स्टेटस कोड के साथ जवाब देता है.

306 स्टेटस कोड को एचटीटीपी स्पेसिफ़िकेशन के पिछले वर्शन में तय किया गया था. एचटीटीपी के मौजूदा स्पेसिफ़िकेशन के मुताबिक, यह कोड रिज़र्व है और इसका इस्तेमाल नहीं किया जाना चाहिए.

  • एचटीटीपी स्पेसिफ़िकेशन:
RFC 7231, सेक्शन 6.3.5: 306 Reserved

ठीक करें

स्टेटस कोड 306 रिज़र्व किया गया है. इसलिए, पक्का करें कि Apigee Edge को जवाब भेजते समय, आपका बैकएंड सर्वर इस स्टेटस कोड का इस्तेमाल न करे.

protocol.http.Response405WithoutAllowHeader

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Received 405 Response without Allow Header
  • संभावित वजह:
बैकएंड सर्वर, "Allow" हेडर के बिना 405 Method Not Allowed स्टेटस कोड दिखाता है.
  • एचटीटीपी स्पेसिफ़िकेशन:

RFC 7231, सेक्शन 6.5.5: 405 Method Not Allowed और RFC 7231, सेक्शन 7.4.1: Allow

PLAYBOOK

protocol.http.ResponseWithBody

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Received {status_code} Response with message body
  • संभावित वजह:

यह गड़बड़ी तब होती है, जब Apigee Edge को बैकएंड सर्वर से मिलने वाला एचटीटीपी रिस्पॉन्स, 204 No Content या 205 Reset Content होता है. हालांकि, इसमें रिस्पॉन्स बॉडी और/या इनमें से एक या इससे ज़्यादा हेडर शामिल होते हैं:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • एचटीटीपी स्पेसिफ़िकेशन:

RFC 7231, सेक्शन 6.3.5: 204 No Content और RFC 7231, सेक्शन 6.3.6: 205 Reset Content

PLAYBOOK

protocol.http.TooBigBody

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
Body buffer overflow
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब क्लाइंट ऐप्लिकेशन से Apigee Edge को भेजे गए एचटीटीपी अनुरोध के पेलोड का साइज़, Apigee Edge में तय की गई सीमा से ज़्यादा हो.
  • सीमाएं:
Apigee Edge की सीमाएं
PLAYBOOK

protocol.http.TooBigHeaders

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
response headers size exceeding {limit}
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब Apigee Edge को एचटीटीपी रिस्पॉन्स के तौर पर बैकएंड सर्वर से भेजे गए सभी रिस्पॉन्स हेडर का कुल साइज़, Apigee Edge में तय की गई सीमा से ज़्यादा हो.
  • सीमाएं:
Apigee Edge की सीमाएं
PLAYBOOK

protocol.http.TooBigLine

  • एचटीटीपी स्टेटस कोड:
502 Bad Gateway
  • गड़बड़ी का मैसेज:
response line size exceeding {limit}
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब Apigee Edge को भेजे गए एचटीटीपी रिस्पॉन्स के हिस्से के तौर पर, बैकएंड सर्वर से भेजी गई रिस्पॉन्स लाइन का साइज़, Apigee Edge में तय की गई सीमा से ज़्यादा हो.
  • सीमाएं:
Apigee Edge की सीमाएं
PLAYBOOK

protocol.http.UnsupportedEncoding

  • एचटीटीपी स्टेटस कोड:
415 Unsupported Media
  • गड़बड़ी का मैसेज:
Unsupported Encoding "{encoding}"
  • संभावित वजह:
यह गड़बड़ी तब होती है, जब एचटीटीपी रिस्पॉन्स के हिस्से के तौर पर बैकएंड सर्वर से भेजे गए Content-Encoding हेडर में, एन्कोडिंग/पेलोड का ऐसा फ़ॉर्मैट होता है जो Apigee Edge के साथ काम नहीं करता.
  • एचटीटीपी स्पेसिफ़िकेशन:
RFC 7231, सेक्शन 6.5.13: 415 Unsupported Media Type
PLAYBOOK

security.util.*

security.util.KeyAliasNotFound

  • एचटीटीपी स्टेटस कोड:
500 Internal Server Error
  • गड़बड़ी का मैसेज:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • संभावित वजह:

यह गड़बड़ी तब होती है, जब TargetEndpoint या TargetServer में रेफ़रंस किया गया KeyAlias, Keystore में नहीं मिलता.

ठीक करें

पक्का करें कि TargetEndpoint या TargetServer में दिया गया KeyAlias मौजूद हो और वह किसी खास Keystore का हिस्सा हो.

security.util.TrustStoreWithNoCertificates

  • एचटीटीपी स्टेटस कोड:
500 Internal Server Error
  • गड़बड़ी का मैसेज:
TrustStore {truststore_name} has no certificates
  • संभावित वजह:

यह गड़बड़ी तब होती है, जब TargetEndpoint या TargetServer में रेफ़रंस किए गए किसी खास Truststore में कोई सर्टिफ़िकेट मौजूद न हो.

ठीक करें

अगर आपको बैकएंड सर्वर के सर्टिफ़िकेट की पुष्टि करनी है और TargetEndpoint या TargetServer में Truststore का इस्तेमाल करना है, तो पक्का करें कि Truststore में बैकएंड सर्वर के मान्य सर्टिफ़िकेट मौजूद हों.