बैकएंड सर्वर से 504 गेटवे टाइम आउट

आपको 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 गेटवे टाइम आउट का रिस्पॉन्स दिया जाता है.

संभावित वजहें

Apigee Edge में, बैकएंड सर्वर से 504 गेटवे टाइम आउट के रिस्पॉन्स की आम वजह यह है:

Cause जानकारी इसके लिए, समस्या हल करने के निर्देश
504 गेटवे टाइमआउट के साथ काम करने वाला बैकएंड सर्वर बैकएंड सर्वर टाइम आउट हो जाता है और मैसेज प्रोसेसर को 504 गेटवे टाइम आउट का रिस्पॉन्स देता है. Edge के निजी और सार्वजनिक क्लाउड उपयोगकर्ता

504 गेटवे टाइमआउट के साथ काम करने वाला बैकएंड सर्वर

बैकएंड सर्वर, 504 गेटवे टाइमआउट के एचटीटीपी रिस्पॉन्स कोड के साथ रिस्पॉन्स दे सकता है.

संक्रमण की जांच

इस सेक्शन में 504 गेटवे टाइम आउट का सही तरीके से विश्लेषण करने का तरीका बताया गया है. निजी और इस सूची में, Cloud के सार्वजनिक उपयोगकर्ताओं की सूची शामिल है.

प्रक्रिया #1: ट्रेस का इस्तेमाल करना (निजी और सार्वजनिक क्लाउड के उपयोगकर्ता)

  1. जिस एपीआई पर असर पड़ा है उसके लिए, Apigee यूज़र इंटरफ़ेस (यूआई) में Trace को चालू करें.
  2. बैकएंड सर्वर को एक अनुरोध भेजें.
  3. अगर काम न करने वाले एपीआई अनुरोध में, ट्रेस में बैकएंड सर्वर से 504 रिस्पॉन्स दिखता है, तो तो 504 गेटवे टाइम आउट की वजह बैकएंड सर्वर है.
  4. जवाब देने में लगने वाला समय तय करने के लिए, टारगेट सर्वर से मिला जवाब पर क्लिक करें फ़ेज़ में नहीं मिलेगा. दिखाए गए उदाहरण में, बीता हुआ समय 60004 मि॰से॰ है:

    यूज़र इंटरफ़ेस (यूआई) से फ़ेज़ की जानकारी

    फ़ेज़ की जानकारी वाले सेक्शन में ज़्यादा जानकारी दी गई है:

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

    ट्रेस से मिले आंकड़ों की जानकारी

    चरण की जानकारी का रिस्पॉन्स हेडर सेक्शन, X-Apigee-fault-code और X-Apigee-fault-source, जैसा कि यह इमेज यहां दी गई है:

    यूज़र इंटरफ़ेस (यूआई) से Analytics के फ़ेज़ की जानकारी

    अगर इन फ़ील्ड में नीचे दी गई टेबल में दिखाई गई वैल्यू शामिल हैं, तो 504 कोड वाली गड़बड़ी का कोड दिखेगा से लिंक करें:

    रिस्पॉन्स हेडर वैल्यू
    X-Apigee-fault-source टारगेट
    X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode
  6. की जांच करें प्रॉक्सी चेनिंग. यहां दिया गया तरीका अपनाकर पता करें कि बैकएंड सर्वर किसी दूसरे प्रॉक्सी को शुरू कर रहा है या नहीं Apigee में:
    1. टारगेट सर्वर को अनुरोध भेजा गया फ़ेज़ पर वापस जाएं. इसके बाद, बैकएंड सर्वर होस्ट का उपनाम देखने के लिए, कर्ल दिखाएं बटन.
    2. अगर बैकएंड सर्वर होस्ट का अन्य डोमेन नेम, वर्चुअल होस्ट के अन्य नाम पर ले जाता है, तो प्रॉक्सी चेन जगह. 504 गेटवे की वजह का पता लगाने के लिए, एक-दूसरे से जुड़े हर प्रॉक्सी के लिए ऊपर दिया गया तरीका दोहराएं टाइम आउट की गड़बड़ी का जवाब. 504 गेटवे टाइम आउट के अन्य चरणों पर चेन प्रॉक्सी में होने वाले अनुरोध/प्रतिक्रिया चक्र का पता का उपयोग कर किया जा सकता है इस प्लेबुक का इस्तेमाल करें.
    3. अगर बैकएंड सर्वर होस्ट का अन्य डोमेन नेम, बैकएंड सर्वर पर ले जाता है, तो आगे बढ़ें रिज़ॉल्यूशन.

प्रोसेस #2: बैकएंड सर्वर एपीआई को सीधे तौर पर चालू करें (सार्वजनिक और निजी क्लाउड इस्तेमाल करने वाले लोग)

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

  1. पक्का करें कि आपके पास सभी ज़रूरी हेडर, क्वेरी पैरामीटर, और क्रेडेंशियल हों को अनुरोध के हिस्से के रूप में बैकएंड सर्वर को भेजा जाता है.
  2. अगर बैकएंड सेवा सार्वजनिक तौर पर उपलब्ध है, तो curl कमांड का इस्तेमाल किया जा सकता है. पोस्टमैन या कोई अन्य REST क्लाइंट खाता चुनें और सीधे बैकएंड सर्वर एपीआई को शुरू करें.
  3. अगर बैकएंड सर्वर को सिर्फ़ मैसेज प्रोसेसर से ऐक्सेस किया जा सकता है, तो curl का इस्तेमाल करें कमांड, Postman या कोई अन्य REST क्लाइंट, मैसेज प्रोसेसर.
  4. अगर बैकएंड सेवा से 504 गेटवे टाइम आउट का रिस्पॉन्स मिलता है, तो आगे बढ़ें रिज़ॉल्यूशन.

प्रक्रिया #3: NGINX ऐक्सेस लॉग की जांच करें (सिर्फ़ निजी क्लाउड उपयोगकर्ताओं के लिए)

NGINX ऐक्सेस लॉग से यह पता चल सकता है कि बैकएंड सर्वर से 504 गड़बड़ी का रिस्पॉन्स भेजा गया या नहीं. यह खास तौर पर तब फ़ायदेमंद होता है, जब यह समस्या पहले हुई हो, रुक-रुककर चल रही हो या उसे कैप्चर न किया जा सकता हो ट्रेस में बदलें. NGINX ऐक्सेस लॉग देखने के लिए, यह तरीका अपनाएं:

  1. इस निर्देश का इस्तेमाल करके NGINX ऐक्सेस लॉग देखें:
    /opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log 
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  2. देखें कि जिस एपीआई प्रॉक्सी पर असर पड़ा है उसके लिए 504 गड़बड़ी वाले रिस्पॉन्स देखें. आपके पास किसी समयावधि, या यह पता लगाएं कि क्या अनुरोध अब भी 504 गड़बड़ी वाले रिस्पॉन्स की मदद से काम नहीं कर रहे हैं.
  3. अगर 504 गड़बड़ी वाला कोई रिस्पॉन्स मिलता है, तो देखें कि गड़बड़ी का रिस्पॉन्स यहां से शुरू होता है बैकएंड सर्वर.
  4. नीचे दिए गए डायग्राम में NGINX लॉग एंट्री का उदाहरण दिया गया है. इसमें, 504 कोड वाली गड़बड़ी का रिस्पॉन्स दिखाया गया है, जो टारगेट सर्वर:

    nginx लॉग का सैंपल

    अगर X-Apigee-fault-source और X-Apigee-fault-code फ़ील्ड में यहां दी गई टेबल में दी गई वैल्यू दिखाई गई हैं, तो 504 रिस्पॉन्स बैकएंड सर्वर से आता है:

    रिस्पॉन्स हेडर वैल्यू
    X-Apigee-fault-source टारगेट
    X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode
  5. प्रॉक्सी चेन की जांच करने के लिए, उस एपीआई प्रॉक्सी की समीक्षा करें जिस पर असर हुआ है इसका मतलब है कि बैकएंड सर्वर/टारगेट एंडपॉइंट, Apigee में एक और प्रॉक्सी को शुरू कर रहा है. अगर एपीआई प्रॉक्सी प्रॉक्सी चेन का इस्तेमाल करना , 504 गेटवे टाइम आउट की वजह का पता लगाने के लिए, एक-दूसरे से जुड़े हर प्रॉक्सी के लिए ऊपर दिया गया तरीका दोहराएं गड़बड़ी का जवाब देता है. 504 अन्य चरणों पर चेन प्रॉक्सी में होने वाले गेटवे टाइमआउट का विश्लेषण किया जा सकता है इस प्लेबुक का इस्तेमाल करके देखें.
  6. यदि कोई प्रॉक्सी चेन और 504 गड़बड़ी का रिस्पॉन्स, बैकएंड सर्वर से मिलता है, रिज़ॉल्यूशन पर जाएं.

प्रक्रिया #4: एपीआई मॉनिटरिंग का इस्तेमाल करना (सिर्फ़ सार्वजनिक क्लाउड उपयोगकर्ताओं के लिए)

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

उदाहरण के तौर पर दिए गए किसी उदाहरण को देखना जो एपीआई मॉनिटरिंग का इस्तेमाल करके, आपके एपीआई की 5xx समस्याओं को हल करने का तरीका बताती है. उदाहरण के लिए, एक सूचना सेट अप करें. इससे एडमिन को तब सूचना मिलेगी, जब 504 स्टेटस कोड की संख्या एक तय सीमा से ज़्यादा हो जाएगी.

रिज़ॉल्यूशन

ऊपर बताई गई डाइग्नोस्टिक प्रोसेस का इस्तेमाल करके, बैकएंड सर्वर टीम की मदद से गड़बड़ी को ठीक किया जा सकता है समस्या है. इसमें बैकएंड सर्वर में टाइम आउट को अडजस्ट करना शामिल हो सकता है या टारगेट सर्वर से पहले किसी लोड बैलेंसर में टाइम आउट हो जाएगा.

गड़बड़ी की जानकारी इकट्ठा करें

अगर समस्या बनी रहती है, तो गड़बड़ी की यहां दी गई जानकारी Apigee सहायता के साथ शेयर करें.

अगर आप Public Cloud उपयोगकर्ता हैं, तो यह जानकारी दें:

  • संगठन का नाम
  • एनवायरमेंट का नाम
  • एपीआई प्रॉक्सी का नाम
  • curl 504 वाली गड़बड़ी को ठीक करने के लिए इस्तेमाल किया गया निर्देश पूरा करें
  • 504 गेटवे टाइमआउट की गड़बड़ी का जवाब पाने वाले एपीआई अनुरोधों के साथ फ़ाइल ट्रेस करें

अगर आप प्राइवेट क्लाउड उपयोगकर्ता हैं, तो यह जानकारी दें:

  • पूरे न हो पाने वाले अनुरोधों की वजह से, गड़बड़ी का पूरा मैसेज मिला
  • एनवायरमेंट का नाम
  • एपीआई प्रॉक्सी बंडल
  • 504 गेटवे टाइमआउट गड़बड़ी का जवाब पाने वाले एपीआई अनुरोधों के साथ फ़ाइल ट्रेस करें
  • NGINX ऐक्सेस लॉग
    /opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log 
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  • मैसेज प्रोसेसर के लॉग
    /opt/apigee/var/log/edge-message-processor/logs/system.log
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है