आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
समस्या का ब्यौरा
एपीआई कॉल के जवाब में, क्लाइंट ऐप्लिकेशन को 504 एचटीटीपी स्टेटस कोड मिलता है. साथ ही, उसे यह मैसेज मिलता है: "गेटवे टाइमआउट".
गड़बड़ी के इस जवाब से पता चलता है कि एपीआई कॉल को पूरा करने के दौरान, क्लाइंट को Apigee Edge या बैकएंड सर्वर से समय पर जवाब नहीं मिला.
गड़बड़ी का मैसेज
क्लाइंट ऐप्लिकेशन को यह रिस्पॉन्स कोड मिलता है:
HTTP/1.1 504 Gateway Timeout
इस कोड के बाद, आपको यहां दिए गए मैसेज जैसा गड़बड़ी का मैसेज दिख सकता है:
<html> <head><title>504 Gateway Timeout</title></head> <body bgcolor="white"> <center><h1>504 Gateway Timeout</h1></center> </body> </html>
गेटवे टाइमआउट किस वजह से होते हैं?
Apigee Edge के ज़रिए किए गए एपीआई अनुरोध का सामान्य पाथ क्लाइंट -> राउटर -> मैसेज प्रोसेसर -> बैकएंड सर्वर होता है. इसे नीचे दिए गए डायग्राम में दिखाया गया है:

क्लाइंट ऐप्लिकेशन, राऊटर, और मैसेज प्रोसेसर को टाइम आउट की सही वैल्यू के साथ कॉन्फ़िगर किया गया हो. Apigee Edge, हर एपीआई अनुरोध के लिए एक तय समय में जवाब मिलने की उम्मीद करता है. यह समय, टाइमआउट वैल्यू के आधार पर तय होता है. अगर तय समयसीमा के अंदर जवाब नहीं मिलता है, तो 504 Gateway Timeout वाला जवाब मिलता है.
संभावित वजहें
Apigee Edge में, बैकएंड सर्वर से 504 Gateway Timeout रिस्पॉन्स मिलने की वजह आम तौर पर यह होती है:
| Cause | ब्यौरा | समस्या हल करने के निर्देश |
|---|---|---|
| बैकएंड सर्वर, 504 गेटवे टाइमआउट वाली गड़बड़ी का रिस्पॉन्स दे रहा है | बैकएंड सर्वर का टाइम आउट हो जाता है और वह मैसेज प्रोसेसर को 504 गेटवे टाइमआउट का जवाब देता है. | Edge Private और Public Cloud के उपयोगकर्ता |
बैकएंड सर्वर, 504 गेटवे टाइमआउट वाली गड़बड़ी का जवाब दे रहा है
बैकएंड सर्वर, एचटीटीपी रिस्पॉन्स कोड 504 गेटवे टाइमआउट के साथ जवाब दे सकता है.
संक्रमण की जांच
इस सेक्शन में, 504 गेटवे टाइमआउट की समस्या का सही तरीके से पता लगाने का तरीका बताया गया है. निजी और सार्वजनिक क्लाउड, दोनों के उपयोगकर्ताओं के लिए तरीके दिए गए हैं.
पहली प्रक्रिया: Trace का इस्तेमाल करना (निजी और सार्वजनिक क्लाउड के उपयोगकर्ताओं के लिए)
- समस्या वाले एपीआई के लिए, Apigee के यूज़र इंटरफ़ेस (यूआई) में Trace की सुविधा चालू करें.
- बैकएंड सर्वर को अनुरोध भेजता है.
- अगर एपीआई के अनुरोध को पूरा नहीं किया जा सका और ट्रेस में बैकएंड सर्वर से 504 रिस्पॉन्स मिला, तो इसका मतलब है कि 504 गेटवे टाइमआउट की वजह बैकएंड सर्वर है.
- जवाब मिलने में लगने वाले समय का पता लगाने के लिए, ट्रेस में टारगेट सर्वर से मिला जवाब फ़ेज़ पर क्लिक करें. दिखाए गए उदाहरण में, बीता हुआ समय 60004 मि॰से॰ है:

'फ़ेज़ की जानकारी' सेक्शन में, ज़्यादा जानकारी दी गई है:
- इसमें बैकएंड सर्वर से मिले 504 गेटवे टाइमआउट रिस्पॉन्स को हाइलाइट किया गया है.
- जवाब का कॉन्टेंट सेक्शन में, बैकएंड सर्वर से मिले जवाब का पूरा कॉन्टेंट दिखता है. जैसा कि पहले बताया गया है, बैकएंड सर्वर के लागू करने के तरीके के आधार पर, जवाब के पेलोड का फ़ॉर्मैट और कॉन्टेंट अलग-अलग हो सकता है.
- जवाब का हेडर > सर्वर सेक्शन से पता चल सकता है कि जवाब कहां से मिला है.
- Analytics का डेटा देखने और समस्या की पुष्टि करने के लिए, Trace में Analytics का डेटा रिकॉर्ड किया गया फ़ेज़ पर क्लिक करें. इसे नीचे दिए गए चित्र में दिखाया गया है:

फ़ेज़ की जानकारी के जवाब के हेडर सेक्शन में,
X-Apigee-fault-codeऔरX-Apigee-fault-sourceकी वैल्यू दिखती हैं. इन्हें नीचे दी गई इमेज में दिखाया गया है:
अगर इन फ़ील्ड में यहां दी गई टेबल में दिखाई गई वैल्यू मौजूद हैं, तो 504 गड़बड़ी का रिस्पॉन्स, बैकएंड सर्वर से मिलता है:
रिस्पॉन्स हेडर वैल्यू X-Apigee-fault-source टारगेट X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode -
प्रॉक्सी चेनिंग की जांच करें. यह पता लगाने के लिए कि Apigee में बैकएंड सर्वर, किसी अन्य प्रॉक्सी को कॉल कर रहा है या नहीं, यह तरीका अपनाएं:
- टारगेट सर्वर को भेजा गया अनुरोध फ़ेज़ पर वापस जाएं. इसके बाद, बैकएंड सर्वर होस्ट का उपनाम देखने के लिए, Curl दिखाएं बटन पर क्लिक करें.
- अगर बैकएंड सर्वर होस्ट का उपनाम, वर्चुअल होस्ट के उपनाम की ओर इशारा करता है, तो प्रॉक्सी चेनिंग लागू होती है. चेन की गई हर प्रॉक्सी के लिए, ऊपर दिया गया तरीका दोहराएं. इससे 504 गेटवे टाइमआउट गड़बड़ी के जवाब की वजह का पता लगाया जा सकेगा. अनुरोध/जवाब के साइकल के अन्य चरणों में, चेन की गई प्रॉक्सी में होने वाले 504 गेटवे टाइमआउट की समस्या का पता लगाने के लिए, इस प्लेबुक का इस्तेमाल किया जा सकता है.
- अगर बैकएंड सर्वर होस्ट का उपनाम, बैकएंड सर्वर की ओर ले जाता है, तो समस्या हल करना पर जाएं.
दूसरी प्रक्रिया: बैकएंड सर्वर एपीआई को सीधे तौर पर चालू करना (पब्लिक और प्राइवेट क्लाउड के उपयोगकर्ताओं के लिए)
बैकएंड सर्वर को सीधे तौर पर कॉल करें, ताकि यह पुष्टि की जा सके कि Apigee Edge के ज़रिए अनुरोध करने पर, 504 Gateway Timeout का वही जवाब मिला है जो पहले मिला था.
- पक्का करें कि आपके पास सभी ज़रूरी हेडर, क्वेरी पैरामीटर, और क्रेडेंशियल हों. इनकी ज़रूरत अनुरोध के हिस्से के तौर पर, बैकएंड सर्वर को पास करने के लिए होती है.
- अगर बैकएंड सेवा को सार्वजनिक तौर पर ऐक्सेस किया जा सकता है, तो
curlकमांड, Postman या किसी अन्य REST क्लाइंट का इस्तेमाल करके, सीधे बैकएंड सर्वर एपीआई को चालू किया जा सकता है. - अगर बैकएंड सर्वर को सिर्फ़ मैसेज प्रोसेसर से ऐक्सेस किया जा सकता है, तो
curlकमांड, Postman या किसी अन्य REST क्लाइंट का इस्तेमाल करके, बैकएंड सर्वर के एपीआई को सीधे मैसेज प्रोसेसर से कॉल करें. - अगर बैकएंड सेवा, 504 गेटवे टाइमआउट रिस्पॉन्स दिखाती है, तो समस्या हल करना पर जाएं.
तीसरी प्रक्रिया: NGINX के ऐक्सेस लॉग देखें (सिर्फ़ Private Cloud के उपयोगकर्ताओं के लिए)
NGINX के ऐक्सेस लॉग से यह पता लगाया जा सकता है कि 504 गड़बड़ी वाला जवाब, बैकएंड सर्वर ने भेजा था या नहीं. यह खास तौर पर तब मददगार होता है, जब समस्या पहले हो चुकी हो, बीच-बीच में होती हो या ट्रेस में कैप्चर न की जा सकती हो. NGINX के ऐक्सेस लॉग देखने के लिए, यह तरीका अपनाएं:
- इस कमांड का इस्तेमाल करके, NGINX के ऐक्सेस लॉग देखें:
/opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log
- जिस एपीआई प्रॉक्सी पर असर पड़ा है उसके लिए, 504 गड़बड़ी वाले जवाबों की जांच करें. अगर समस्या पहले हुई थी, तो किसी खास समयावधि की जांच की जा सकती है. इसके अलावा, यह भी पता लगाया जा सकता है कि क्या अब भी अनुरोध पूरे नहीं हो रहे हैं और 504 गड़बड़ी का मैसेज दिख रहा है.
- अगर कोई 504 गड़बड़ी वाला रिस्पॉन्स मिलता है, तो पता लगाएं कि गड़बड़ी वाला रिस्पॉन्स बैकएंड सर्वर से मिला है या नहीं.
- प्रॉक्सी चेनिंग की जांच करने के लिए, उस एपीआई प्रॉक्सी की समीक्षा करें जिस पर असर पड़ा है जैसे, बैकएंड सर्वर/टारगेट एंडपॉइंट, Apigee में किसी दूसरी प्रॉक्सी को चालू कर रहा है. अगर एपीआई प्रॉक्सी, प्रॉक्सी चेनिंग का इस्तेमाल कर रही है, तो ऊपर दिए गए चरणों को हर चेन्ड प्रॉक्सी के लिए दोहराएं. इससे 504 गेटवे टाइमआउट गड़बड़ी के जवाब की वजह का पता लगाया जा सकेगा. चेन की गई प्रॉक्सी में अन्य चरणों पर होने वाले 504 गेटवे टाइमआउट की समस्या का पता लगाने के लिए, इस प्लेबुक का इस्तेमाल किया जा सकता है.
- अगर प्रॉक्सी चेनिंग नहीं है और 504 गड़बड़ी वाला जवाब बैकएंड सर्वर से मिला है, तो समस्या हल करने पर जाएं.
नीचे दी गई इमेज में, NGINX लॉग एंट्री का उदाहरण दिया गया है. इसमें टारगेट सर्वर की वजह से, 504 गड़बड़ी का जवाब दिखाया गया है:

अगर X-Apigee-fault-source और X-Apigee-fault-code फ़ील्ड में, यहां दी गई टेबल में मौजूद वैल्यू शामिल हैं, तो 504 रिस्पॉन्स बैकएंड सर्वर से मिलता है:
| रिस्पॉन्स हेडर | वैल्यू |
|---|---|
| X-Apigee-fault-source | टारगेट |
| X-Apigee-fault-code | messaging.adaptors.http.flow.ErrorResponseCode |
चौथी प्रक्रिया: एपीआई मॉनिटरिंग का इस्तेमाल करना (सिर्फ़ सार्वजनिक क्लाउड के उपयोगकर्ताओं के लिए)
एपीआई मॉनिटरिंग की मदद से, समस्या वाले क्षेत्रों का तुरंत पता लगाया जा सकता है. इससे गड़बड़ी, परफ़ॉर्मेंस, और लोड होने में लगने वाले समय से जुड़ी समस्याओं और उनके सोर्स का पता लगाया जा सकता है. जैसे, डेवलपर ऐप्लिकेशन, एपीआई प्रॉक्सी, बैकएंड टारगेट या एपीआई प्लैटफ़ॉर्म.
एक सैंपल परिदृश्य देखें जिसमें एपीआई मॉनिटरिंग का इस्तेमाल करके, अपने एपीआई से जुड़ी 5xx समस्याओं को हल करने का तरीका बताया गया है. उदाहरण के लिए, जब 504 स्टेटस कोड की संख्या किसी तय थ्रेशोल्ड से ज़्यादा हो जाए, तब एडमिन को सूचना देने के लिए एक सूचना सेट अप करें.
पर सेट करेंरिज़ॉल्यूशन
ऊपर बताई गई डाइग्नोस्टिक प्रक्रियाओं का इस्तेमाल करके, बैकएंड सर्वर की टीम के साथ मिलकर बैकएंड सर्वर में मौजूद समस्या को ठीक किया जा सकता है. इसमें बैकएंड सर्वर में टाइमआउट को अडजस्ट करना या टारगेट सर्वर के सामने मौजूद किसी भी लोड बैलेंसर में टाइमआउट को अडजस्ट करना शामिल हो सकता है.
गड़बड़ी की जानकारी इकट्ठा करना
अगर समस्या बनी रहती है, तो गड़बड़ी की जानकारी देने वाली यह जानकारी Apigee की सहायता टीम के साथ शेयर करें.
अगर आप पब्लिक क्लाउड का इस्तेमाल करते हैं, तो यह जानकारी दें:
- संगठन का नाम
- एनवायरमेंट का नाम
- एपीआई प्रॉक्सी का नाम
- 504 गड़बड़ी का जवाब फिर से जनरेट करने के लिए, इस्तेमाल किया गया पूरा
curlनिर्देश - एपीआई अनुरोधों वाली ट्रेस फ़ाइल, जिसमें 504 गेटवे टाइमआउट गड़बड़ी का रिस्पॉन्स मिला है
अगर आप Private Cloud के उपयोगकर्ता हैं, तो यह जानकारी दें:
- अनुरोध पूरे न होने पर, गड़बड़ी का पूरा मैसेज दिखता है
- एनवायरमेंट का नाम
- एपीआई प्रॉक्सी बंडल
- एपीआई अनुरोधों वाली ट्रेस फ़ाइल, जिसमें 504 गेटवे टाइमआउट गड़बड़ी का रिस्पॉन्स मिला है
- NGINX ऐक्सेस लॉग
/opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log
- मैसेज प्रोसेसर के लॉग
/opt/apigee/var/log/edge-message-processor/logs/system.log