आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
समस्या का ब्यौरा
क्लाइंट ऐप्लिकेशन को इस गड़बड़ी के साथ 502 Bad Gateway का एचटीटीपी स्टेटस कोड मिलता है
एपीआई कॉल के रिस्पॉन्स के तौर पर protocol.http.ResponseWithBody कोड.
गड़बड़ी का मैसेज
क्लाइंट ऐप्लिकेशन को यह रिस्पॉन्स कोड मिलता है:
HTTP/1.1 502 Bad Gateway
इसके अलावा, आपको इनमें से गड़बड़ी का कोई एक मैसेज भी दिख सकता है:
{
"fault":{
"faultstring":"Received 204 Response with message body",
"detail":{
"errorcode":"protocol.http.ResponseWithBody"
}
}
}{
"fault":{
"faultstring":"Received 205 Response with message body",
"detail":{
"errorcode":"protocol.http.ResponseWithBody"
}
}
}संभावित कारण
यह गड़बड़ी तब होती है, जब बैकएंड सर्वर से Apigee Edge पर एचटीटीपी रिस्पॉन्स मिलता है
204 No Content या 205 Reset Content, लेकिन इसमें रिस्पॉन्स शामिल है
मुख्य हिस्से और/या एक या एक से ज़्यादा हेडर:
Content-LengthContent-EncodingTransfer-Encoding
निर्देशों के मुताबिक
आरएफ़सी 7231, सेक्शन 6.3.5: 204 कोई कॉन्टेंट नहीं और
आरएफ़सी 7231, सेक्शन 6.3.6: 205 कॉन्टेंट रीसेट करें, ऐसे में उम्मीद की जाती है कि कोई और कॉन्टेंट न हो
ऑरिजिन सर्वर से, स्टेटस कोड 204 No
Content या 205 Reset Content के साथ रिस्पॉन्स पेलोड बॉडी के हिस्से के तौर पर भेजा जाना चाहिए. रिस्पॉन्स हेडर
जैसे, Content-Length, Content-Encoding या
Transfer-Encoding रिस्पॉन्स पेलोड का साइज़, टाइप या फ़ॉर्मैट दिखाता है.
इसलिए, Apigee Edge, इसके साथ 502 Bad Gateway स्टेटस कोड दिखाता है
नीचे दी गई बातों के तहत क्लाइंट को गड़बड़ी कोड protocol.http.ResponseWithBody
स्थितियां:
| बैकएंड सर्वर से मिला स्थिति कोड | ||
|---|---|---|
| बैकएंड सर्वर से मिले जवाब में यह शामिल है | 204 कोई सामग्री नहीं | 205 सामग्री रीसेट करें |
| जवाब का मुख्य भाग | गड़बड़ी | गड़बड़ी |
(शून्य से ज़्यादा पर सेट करें) |
गड़बड़ी | गड़बड़ी |
(इस पर सेट करें Apigee Edge में काम करने वाला एन्कोडिंग) |
गड़बड़ी | कोई गड़बड़ी नहीं |
Transfer-Encoding |
गड़बड़ी | गड़बड़ी |
इस गड़बड़ी की ये वजहें हो सकती हैं:
| वजह | ब्यौरा | इसके लिए लागू होने वाले, समस्या हल करने के निर्देश |
|---|---|---|
| बैकएंड सर्वर से 204 रिस्पॉन्स के साथ जवाब का मुख्य हिस्सा या हेडर | बैकएंड सर्वर, 204 No Content या 205 Reset Content भेजता है
जवाब के मुख्य हिस्से और/या एक या एक से ज़्यादा हेडर Content-Type के साथ,
Content-Encoding या Transfer-Encoding. |
Edge के सार्वजनिक और प्राइवेट क्लाउड उपयोगकर्ता |
गड़बड़ी की जांच करने के सामान्य तरीके
इस गड़बड़ी का पता लगाने के लिए, इनमें से किसी एक टूल/तकनीक का इस्तेमाल करें:
एपीआई मॉनिटरिंग
एपीआई मॉनिटरिंग का इस्तेमाल करके, गड़बड़ी का पता लगाने के लिए:
- वाले उपयोगकर्ता के तौर पर, Apigee Edge के यूज़र इंटरफ़ेस (यूआई) में साइन इन करें भूमिका होनी चाहिए.
उस संगठन पर जाएं जिसमें आपको समस्या की जांच करनी है.
- विश्लेषण करें > एपीआई मॉनिटरिंग > पेज की जांच करें.
- वह समयावधि चुनें जिसमें आपको गड़बड़ियां दिखी थीं.
- समय के हिसाब से गड़बड़ी कोड दिखाएं.
वह सेल चुनें जिसमें गड़बड़ी कोड
protocol.http.ResponseWithBodyहै नीचे दी गई जानकारी देखें:
आपको गड़बड़ी के कोड के बारे में जानकारी दिखेगी
protocol.http.ResponseWithBodyजैसा कि नीचे दिखाया गया है:
लॉग देखें पर क्लिक करें और फ़ेल हो चुके अनुरोध की पंक्ति को बड़ा करें.
- लॉग विंडो में जाकर, यह जानकारी देखें:
- स्टेटस कोड:
502 - गलत सोर्स:
target - गलत कोड:
protocol.http.ResponseWithBody.
- स्टेटस कोड:
- अगर गलत सोर्स की वैल्यू
targetऔर Fault है कोड की वैल्यूprotocol.http.ResponseWithBodyहै, इसके बाद बताता है कि गड़बड़ी इसलिए हुई है क्योंकि बैकएंड सर्वर ने इसके साथ204 No Contentया205 Reset Contentस्थिति कोड जवाब का मुख्य हिस्सा और/या संभावित वजहें सेक्शन में देखें.
ट्रेस करने वाला टूल
ट्रेस टूल का इस्तेमाल करके गड़बड़ी का पता लगाने के लिए:
- ट्रेस सेशन चालू करना
साथ ही:
502 Bad Gatewayगड़बड़ी आने तक इंतज़ार करें. या- अगर समस्या को दोबारा हल किया जा सकता है, तो एपीआई कॉल करें और
502 Bad Gatewayगड़बड़ी देखें.
पक्का करें कि सभी FlowInfos दिखाएं चालू है:
- पूरे न हो पाने वाले अनुरोधों में से किसी एक को चुनें और ट्रेस की जांच करें.
- ट्रेस के अलग-अलग फ़ेज़ पर नेविगेट करें और गड़बड़ी का पता लगाएं हुआ.
आम तौर पर, आपको
flowinfoगड़बड़ी में गड़बड़ी सिर्फ़ टारगेट सर्वर को भेजा गया अनुरोध चरण के बाद, जैसा कि नीचे दिखाया गया है:स्थिति #1
स्थिति #1: बैकएंड सर्वर, स्टेटस कोड
204 No Contentके साथ जवाब देता है जवाब का मुख्य हिस्सा और/या इसमें दिया गया कोई हेडर शामिल है संभावित वजहें.
ट्रेस में दी गई इन वैल्यू को नोट करें:
- गड़बड़ी:
Received 204 Response with message body - error.class:
com.apigee.rest.framework.BadGateway
स्थिति #2
स्थिति #2: बैकएंड सर्वर, स्थिति कोड के साथ जवाब देता है
204 No Contentमें जवाब का मुख्य हिस्सा और/या इनमें से कोई एक संभावित वजहें वाले पेज पर मौजूद हेडर देखें.
ट्रेस में दी गई इन वैल्यू को नोट करें:
- गड़बड़ी:
Received 205 Response with message body - error.class:
com.apigee.rest.framework.BadGateway
- गड़बड़ी:
- ट्रेस में, AX (Analytics का डेटा रिकॉर्ड किया गया) फ़ेज़ पर जाएं और उस पर क्लिक करें.
नीचे स्क्रोल करते हुए चरण से जुड़ी जानकारी, गड़बड़ी हेडर सेक्शन पर जाएं और X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू तय करें जैसा कि नीचे दिखाया गया है:
- ध्यान दें कि X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू
are protocol.http.ResponseWithBodyऔरtarget. इससे पता चलता है कि गड़बड़ी इसलिए हुई है, क्योंकि बैकएंड सर्वर ने204 No Contentया205 Reset Contentस्टेटस कोड रिस्पॉन्स का मुख्य हिस्सा और/या संभावित वजहों में बताए गए किसी हेडर पर.गड़बड़ी मान X-Apigee-fault-code protocol.http.ResponseWithBodyX-Apigee-fault-source target
NGINX
NGINX ऐक्सेस लॉग का इस्तेमाल करके गड़बड़ी का पता लगाने के लिए:
- अगर आप निजी Cloud उपयोगकर्ता हैं, तो NGINX ऐक्सेस लॉग का इस्तेमाल इन कामों के लिए किया जा सकता है
एचटीटीपी
502 Bad Gatewayके बारे में खास जानकारी तय करें. NGINX ऐक्सेस लॉग देखें:
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_logकहां: ORG, ENV, और PORT# को असल वैल्यू से बदल दिया जाता है.
- यह देखने के लिए खोजें कि क्या गड़बड़ी कोड में कोई
502गड़बड़ी है किसी खास अवधि के दौरानprotocol.http.ResponseWithBody(अगर समस्या पहले हुई है) या कोई अनुरोध अब भी पूरा नहीं हो पा रहा है502. अगर आपको X-Apigee-fault-code के साथ कोई
502गड़बड़ी मिलती हैprotocol.http.ResponseWithBodyके मान का मिलान करें, फिर पता लगाएं X-Apigee-fault-source की वैल्यू.NGINX ऐक्सेस लॉग में 502 गड़बड़ी का नमूना:
NGINX ऐक्सेस लॉग की ऊपर दी गई सैंपल एंट्री में X- के लिए नीचे दिए गए मान हैं Apigee-fault-code और X-Apigee-fault-source:
रिस्पॉन्स हेडर मान X-Apigee-fault-code protocol.http.ResponseWithBodyX-Apigee-fault-source target- ध्यान दें कि X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू
हैं, तो
protocol.http.ResponseWithBodyऔरtarget. इससे पता चलता है कि गड़बड़ी इसलिए हुई है, क्योंकि बैकएंड सर्वर ने204 No Contentया205 Reset Contentस्टेटस कोड रिस्पॉन्स का मुख्य हिस्सा और/या संभावित वजहों में बताए गए किसी हेडर पर.
वजह: जवाब का मुख्य हिस्सा या बैकएंड सर्वर से 204 रिस्पॉन्स वाले हेडर
संक्रमण की जांच
- एपीआई का इस्तेमाल करके मिली गड़बड़ी के लिए, गलत कोड और गलत सोर्स का पता लगाएं मॉनिटरिंग, ट्रेस करने वाले टूल या NGINX ऐक्सेस लॉग के बारे में ज़्यादा जानकारी यहां दी गई है गड़बड़ी की जानकारी पाने के सामान्य तरीके.
- अगर गलत कोड
protocol.http.ResponseWithBodyहै और गलत सोर्स की वैल्यूtargetहै, तो इससे पता चलता है कि बैकएंड सर्वर ने204 No Contentया205 Reset Contentस्थिति के साथ जवाब दिया है जवाब के मुख्य हिस्से और/या इसमें बताए गए किसी हेडर के साथ कोड संभावित वजहें. यह पुष्टि करने के लिए कि बैकएंड सर्वर ने वाकई रिस्पॉन्स पेलोड बॉडी और/या एक भेजा है या नहीं संभावित वजहों में बताए गए या ज़्यादा हेडर के साथ, यह तरीका अपनाएं:
अगर आप सार्वजनिक क्लाउड के उपयोगकर्ता हैं और अगर आपके पास सीधे आपके किसी भी सिस्टम से बैकएंड सर्वर पर काम करता है.
- अगर आप निजी क्लाउड उपयोगकर्ता हैं, तो किसी खास मैसेज प्रोसेसर से सीधे तौर पर जुड़ा बैकएंड सर्वर गड़बड़ी का पता चलता है.
बैकएंड सर्वर से मिले जवाब की समीक्षा करें और पुष्टि करें कि उसमें रिस्पॉन्स पेलोड बॉडी और/या ऊपर बताए गए एक या एक से ज़्यादा हेडर के साथ. अगर हां, तो की वजह.
सैंपल #1
सैंपल #1: कॉन्टेंट-एन्कोडिंग हेडर के साथ बैकएंड सर्वर रिस्पॉन्स 204
curl -v "https://BACKEND_SERVER_HOST_NAME/PATH" -H "HEADER: VALUE" -X HTTP_REQUEST_METHOD
… < HTTP/1.1 204 No Content
< Content-Encoding: gzip< Date: Tue, 31 Jul 2021 21:41:13 GMT < Connection: keep-aliveइस सैंपल में, बैकएंड सर्वर ने इसके साथ जवाब दिया
204 No Contentस्टेटस कोड औरContent-Encoding: gzipसैंपल #2
सैंपल #2: कॉन्टेंट की लंबाई वाले हेडर के साथ बैकएंड सर्वर रिस्पॉन्स 204
curl -v "https://BACKEND_SERVER_HOST_NAME/PATH" -H "HEADER: VALUE" -X HTTP_REQUEST_METHOD
… < HTTP/1.1 204 No Content
< Content-Length: 48< Date: Tue, 31 Jul 2021 21:41:13 GMT < Connection: keep-aliveइस सैंपल में, बैकएंड सर्वर ने इसके साथ जवाब दिया
204 No Contentस्टेटस कोड औरContent-Length: 48सैंपल #3
सैंपल #3: रिस्पॉन्स के मुख्य हिस्से के साथ बैकएंड सर्वर रिस्पॉन्स 205
curl -v "https://BACKEND_SERVER_HOST_NAME/PATH" -H "HEADER: VALUE" -X HTTP_REQUEST_METHOD
… < HTTP/1.1 205 Reset Content < Date: Sat, 31 Jul 2021 17:14:09 GMT < Content-Length: 12 < Content-Type: text/plain; charset=utf-8 < * Connection #0 to host X.X.X.X left intact
This is a sample Responseइस सैंपल में, बैकएंड सर्वर ने इसके साथ जवाब दिया जवाब के मुख्य हिस्से के साथ
205 Reset Contentस्टेटस कोडThis is a sample Response.- ऊपर दिए गए सभी उदाहरणों में, बैकएंड सर्वर ने
204 No Contentया जवाब का मुख्य हिस्सा और/या कोई एक हेडर के साथ205 Reset Contentस्टेटस कोड संभावित वजहों में बताया गया है. - इसलिए, Apigee Edge ने गड़बड़ी के कोड के साथ
502 Bad Gatewayस्टेटस कोड भेजा हैprotocol.http.ResponseWithBody.
रिज़ॉल्यूशन
पक्का करें कि बैकएंड सर्वर हमेशा इस स्पेसिफ़िकेशन का पालन करता हो
204 No Content भेजते समय, आरएफ़सी 7231, सेक्शन 6.3.6: 205 कॉन्टेंट रीसेट करना
या Apigee Edge के लिए 205 Reset Content जवाब है. इसका मतलब है कि बैकएंड सर्वर
204 No Content के हिस्से के तौर पर, यह जानकारी नहीं भेजना या
205 Reset Content जवाब:
- रिस्पॉन्स पेलोड बॉडी
- इनमें से कोई भी हेडर:
Content-LengthContent-EncodingTransfer-Encoding
खास जानकारी
Apigee Edge, 502 Bad Gateway स्टेटस कोड और गड़बड़ी कोड के साथ जवाब देता है
protocol.http.ResponseWithBody अगर बैकएंड सर्वर किसी
204 No Content या 205 Reset Content जवाब मिला, लेकिन
आरएफ़सी के इन निर्देशों का पालन नहीं करता:
| खास जानकारी |
|---|
| आरएफ़सी 7231, सेक्शन 6.3.5: 204 कोई कॉन्टेंट नहीं |
| आरएफ़सी 7231, सेक्शन 6.3.6: 205 कॉन्टेंट रीसेट करना |
इन बातों का ध्यान रखें
हमारा सुझाव है कि 204 No Content भेजने के लिए, बैकएंड सर्वर को ठीक करें
और 205 Reset Content स्टेटस कोड, जिसमें जवाब का मुख्य हिस्सा और इनमें से कोई भी कोड मौजूद नहीं है
हेडर - Content-Length, Content-Encoding, और
Transfer-Encoding और निर्देशों का पालन करें
आरएफ़सी 7231, सेक्शन 6.3.5: 204 कोई कॉन्टेंट नहीं और
आरएफ़सी 7231, सेक्शन 6.3.6: 205 कॉन्टेंट रीसेट करें.
अगर आपको अब भी Apigee की सहायता टीम से कोई मदद चाहिए, तो यहां जाएं गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है.
ऐप्लिकेशन की परफ़ॉर्मेंस से जुड़ी जानकारी इकट्ठा करना ज़रूरी है
गड़बड़ी की नीचे दी गई जानकारी इकट्ठा करें. इसके बाद, Apigee Edge की सहायता टीम से संपर्क करें:
अगर आप सार्वजनिक क्लाउड के उपयोगकर्ता हैं, तो यह जानकारी दें:
- संगठन का नाम
- परिवेश का नाम
- एपीआई प्रॉक्सी का नाम
502गड़बड़ी को ठीक करने के लिए इस्तेमाल किए गएcurlनिर्देश को पूरा करें- एपीआई अनुरोधों के लिए फ़ाइल ट्रेस करें
अगर आप निजी Cloud उपयोगकर्ता हैं, तो यह जानकारी दें:
- पूरे न हो पाने वाले अनुरोधों की वजह से, गड़बड़ी का पूरा मैसेज मिला
- परिवेश का नाम
- एपीआई प्रॉक्सी बंडल
- एपीआई अनुरोधों के लिए फ़ाइल ट्रेस करें
NGINX ऐक्सेस लॉग
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_logकहां: ORG, ENV और PORT# को इससे बदल दिया गया है सेट करें.
- मैसेज प्रोसेसर के सिस्टम लॉग
/opt/apigee/var/log/edge-message-processor/logs/system.log