Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं. जानकारी
क्लाइंट-सर्वर कम्यूनिकेशन में, अगर क्लाइंट का दिया गया
एचटीटीपी अनुरोध का तरीका, सर्वर को पता होता है, लेकिन वह टारगेट रिसॉर्स के साथ काम नहीं करता, तो क्लाइंट-सर्वर कम्यूनिकेशन में, सर्वर एचटीटीपी स्टेटस कोड 405
Method Not Allowed
के साथ जवाब देता है. इसी तरह, Apigee Edge में, बैकएंड सर्वर एचटीटीपी स्टेटस कोड 405 Method Not Allowed.
के साथ जवाब दे सकता है
Apigee Edge को लगता है कि बैकएंड सर्वर, Allow
हेडर में मंज़ूर किए गए तरीकों की सूची के साथ 405 Method Not Allowed
रिस्पॉन्स भेजेगा
आरएफ़सी 7231 के सेक्शन 6.5.5: 405 तरीके की अनुमति नहीं है.
Allow
हेडर को इस फ़ॉर्मैट में भेजा जाना चाहिए:
Allow: HTTP_METHODS
उदाहरण के लिए, अगर आपका बैकएंड सर्वर GET
, POST
, और
HEAD
तरीकों का इस्तेमाल करने की अनुमति देता है, तो आपको यह पक्का करना होगा कि Allow
हेडर में वे
इस तरह से शामिल हों:
Allow: GET, POST, HEAD
अगर बैकएंड सर्वर, एचटीटीपी स्टेटस कोड 405 Method Not Allowed,
के साथ Allow
हेडर नहीं भेजता, तो Apigee, क्लाइंट ऐप्लिकेशन को गड़बड़ी कोड के साथ एचटीटीपी स्टेटस कोड 502 Bad
Gateway
दिखाता है.protocol.http.Response405WithoutAllowHeader
इस गड़बड़ी को ठीक करने के लिए, सुझाया गया तरीका है: बैकएंड सर्वर को ठीक करके, निर्देशों का पालन करें
आरएफ़सी 7231, सेक्शन 6.5.5: 405 तरीका अनुमति नहीं है या गड़बड़ी ठीक करने के तरीके का इस्तेमाल करके, एचटीटीपी स्टेटस कोड 405 Method Not Allowed
का इस्तेमाल करें.
Allow
हेडर के साथ-साथ, समस्या हल करने वाला प्लेबुक
502 खराब गेटवे - रिस्पॉन्स 405 के बारे में बताए गए तरीके से, एचटीटीपी स्टेटस कोड 405 Method Not Allowed
का इस्तेमाल करके जवाब दें.
हालांकि, कुछ खास मामलों में, हो सकता है कि इस समस्या को तुरंत हल करने के लिए, आपके बैकएंड की समस्या को ठीक न किया जा सके या एपीआई प्रॉक्सी में बदलाव न किया जा सके.
ऐसे मामलों में, मैसेज प्रोसेसर के लेवल पर 405
प्रॉपर्टी
HTTP.ignore.allow_header.for.405
के लिए, 'अनुमति न दें' हेडर
को कुछ समय के लिए सेट किया जा सकता है. इस प्रॉपर्टी को true
पर सेट करने पर, Apigee
को क्लाइंट ऐप्लिकेशन को 502 Bad Gateway
का रिस्पॉन्स नहीं दे पाएगा. भले ही,
बैकएंड सर्वर, Allow
हेडर के बिना एचटीटीपी स्टेटस कोड 405 Method Not Allowed
भेज दे.
Allow
हेडर के साथ एचटीटीपी स्टेटस कोड 405 Method
Not Allowed
भेजने के लिए, अपने बैकएंड सर्वर को ठीक करने के बाद, HTTP.ignore.allow_header.for.405
प्रॉपर्टी को उसकी डिफ़ॉल्ट वैल्यू false
पर वापस लाया जा सकता है.
शुरू करने से पहले
इस दस्तावेज़ में दिए गए चरणों का इस्तेमाल करने से पहले, पक्का करें कि आप इन विषयों को समझ गए हों:
- प्लेबुक पढ़ें - 502 बैड गेटवे - जवाब 405 बिना अनुमति वाले हेडर के.
- अगर आपको Private Cloud पर Edge के लिए प्रॉपर्टी कॉन्फ़िगर करने के बारे में नहीं पता है, तो Edge को कॉन्फ़िगर करने का तरीका पढ़ें.
अनदेखा करने को कॉन्फ़िगर करने से, Message प्रोसेसर पर 405 प्रॉपर्टी के हेडर को सही होने की अनुमति मिलती है
Apigee Edge में, HTTP.ignore.allow_header.for.405
प्रॉपर्टी डिफ़ॉल्ट रूप से, false
पर सेट है. अगर बैकएंड सर्वर, Allow
हेडर के बिना एचटीटीपी स्टेटस कोड 405 Method Not
Allowed
भेजता है, तो Apigee Edge को क्लाइंट ऐप्लिकेशन को protocol.http.Response405WithoutAllowHeader
गड़बड़ी कोड वाला 502 Bad
Gateway
वापस करने की अनुमति मिल जाती है. अगर आपको Apigee Edge
को क्लाइंट ऐप्लिकेशन पर 502 Bad Gateway
भेजने से रोकना है, तो आपको मैसेज
प्रोसेसर पर HTTP.ignore.allow_header.for.405
प्रॉपर्टी की वैल्यू को true
पर सेट करना होगा.
इस सेक्शन में बताया गया है कि
Message प्रोसेसर पर प्रॉपर्टी को
HTTP.ignore.allow_header.for.405
से true
के बीच कैसे कॉन्फ़िगर करें. इसके लिए, टोकन का इस्तेमाल
Edge को कॉन्फ़िगर करने का तरीका में बताए गए सिंटैक्स के मुताबिक किया जाता है.
-
Message प्रोसेसर मशीन पर, इस फ़ाइल को किसी एडिटर में खोलें. अगर यह पहले से मौजूद नहीं है, तो इसे बनाएं.
/opt/apigee/customer/application/message-processor.properties
उदाहरण के लिए, vi का इस्तेमाल करके फ़ाइल खोलने के लिए, यह डालें:
vi /opt/apigee/customer/application/message-processor.properties
- प्रॉपर्टी फ़ाइल में, इस फ़ॉर्मैट में कोई लाइन जोड़ें:
conf_http_HTTP.ignore.allow_header.for.405=true
- बदलावों को सेव करें.
- प्रॉपर्टी फ़ाइल का मालिकाना हक,
apigee
उपयोगकर्ता के पास हो, जैसा कि यहां दिखाया गया है:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- नीचे दिखाए गए तरीके के मुताबिक, मैसेज प्रोसेसर को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो सभी मैसेज प्रोसेसर पर ऊपर दिया गया तरीका दोहराएं.
405 प्रॉपर्टी के लिए, 'पुष्टि न करें' की अनुमति वाले हेडर को Message प्रोसेसर पर 'सही' पर सेट किया गया
इस सेक्शन में, मैसेज प्रोसेसर पर
HTTP.ignore.allow_header.for.405
प्रॉपर्टी को true
में अपडेट किए जाने की पुष्टि करने का तरीका बताया गया है.
भले ही, आपने Message प्रोसेसर पर प्रॉपर्टी की वैल्यू अपडेट करने के लिए, conf_http_HTTP.ignore.allow_header.for.405
टोकन का इस्तेमाल किया हो, लेकिन आपको पुष्टि करनी होगी कि असल प्रॉपर्टी
HTTP.ignore.allow_header.for.405
को true
पर सेट किया गया है या नहीं.
- Message प्रोसेसर मशीन पर,
/opt/apigee/edge-message-processor/conf
डायरेक्ट्री मेंHTTP.ignore.allow_header.for.405
प्रॉपर्टी खोजें और देखें कि उसेtrue
पर सेट किया गया है या नहीं, जैसा कि नीचे दिखाया गया है:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- अगर प्रॉपर्टी, Message प्रोसेसर पर सही तरीके से अपडेट हो जाती है, तो ऊपर दिए गए निर्देश में,
http.properties
फ़ाइल मेंHTTP.ignore.allow_header.for.405
प्रॉपर्टी की वैल्यूtrue
के तौर पर दिखनी चाहिए, जैसा कि यहां दिखाया गया है:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- अगर आपको अब भी
HTTP.ignore.allow_header.for.405
प्रॉपर्टी की वैल्यू,false
के तौर पर दिखती है, तो पुष्टि करें कि आपने मैसेज प्रोसेसर में 405 प्रॉपर्टी के लिए, 'अनदेखा करने की अनुमति दें' हेडर को 'सही' पर सेट करने में दिए गए सभी निर्देशों का सही तरीके से पालन किया है. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं. - अगर अब भी
HTTP.ignore.allow_header.for.405
प्रॉपर्टी में बदलाव नहीं हो पा रहा है, तो Apigee Edge की सहायता टीम से संपर्क करें.
'अनदेखा करें' को कॉन्फ़िगर करने से, Message प्रोसेसर पर 405 प्रॉपर्टी के हेडर को 'गलत' होने की अनुमति मिलती है
इस सेक्शन में बताया गया है कि Message प्रोसेसर पर
HTTP.ignore.allow_header.for.405
प्रॉपर्टी को उसकी डिफ़ॉल्ट वैल्यू false
पर कैसे कॉन्फ़िगर करें. इसके लिए, टोकन का इस्तेमाल
Edge को कॉन्फ़िगर करने का तरीका में बताए गए सिंटैक्स के मुताबिक किया जाता है.
- पुष्टि करें कि
HTTP.ignore.allow_header.for.405
प्रॉपर्टी को बदलकरtrue
किया गया है. ऐसा करने के लिए,/opt/apigee/edge-message-processor/conf
डायरेक्ट्री में इस प्रॉपर्टी को खोजें और इस प्रॉपर्टी की वैल्यू की जांच करें. इसके लिए, यहां दिए गए निर्देश का इस्तेमाल करें:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- अगर Message प्रोसेसर में प्रॉपर्टी को
true
पर सेट किया गया है, तो ऊपर दिए गए निर्देश में,HTTP.ignore.allow_header.for.405
प्रॉपर्टी की वैल्यू कोhttp.properties
फ़ाइल मेंtrue
के तौर पर दिखाना चाहिए, जैसा कि यहां दिखाया गया है:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=true
- अगर ऊपर दिए गए निर्देश से पता चलता है कि
HTTP.ignore.allow_header.for.405
प्रॉपर्टी,false
(डिफ़ॉल्ट वैल्यू) पर सेट है, तो आपको कुछ और करने की ज़रूरत नहीं है. इसका मतलब है कि यह तरीका न अपनाएं. - अगर प्रॉपर्टी
HTTP.ignore.allow_header.for.405
कोtrue
पर सेट किया गया है, तो इसकी डिफ़ॉल्ट वैल्यूfalse
पर वापस जाने के लिए, यह तरीका अपनाएं. Message प्रोसेसर मशीन पर, एडिटर में नीचे दी गई फ़ाइल खोलें:
/opt/apigee/customer/application/message-processor.properties
उदाहरण के लिए, vi का इस्तेमाल करके फ़ाइल खोलने के लिए, यह डालें:
vi /opt/apigee/customer/application/message-processor.properties
- प्रॉपर्टी फ़ाइल से यह लाइन हटाएं:
conf_http_HTTP.ignore.allow_header.for.405=true
- बदलावों को सेव करें.
- प्रॉपर्टी फ़ाइल का मालिकाना हक,
apigee
उपयोगकर्ता के पास हो, जैसा कि यहां दिखाया गया है:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- नीचे दिखाए गए तरीके के मुताबिक, मैसेज प्रोसेसर को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो सभी मैसेज प्रोसेसर पर ऊपर दिया गया तरीका दोहराएं.
Message प्रोसेसर पर 405 प्रॉपर्टी के लिए, 'पुष्टि न करें' की अनुमति वाले हेडर को 'गलत' पर सेट किया गया
इस सेक्शन में, मैसेज प्रोसेसर पर
HTTP.ignore.allow_header.for.405
प्रॉपर्टी को false
में अपडेट किए जाने की पुष्टि करने का तरीका बताया गया है.
भले ही, मैसेज प्रोसेसर पर वैल्यू अपडेट करने के लिए आपने conf_http_HTTP.ignore.allow_header.for.405
टोकन का इस्तेमाल किया हो, लेकिन आपको पुष्टि करनी होगी कि असल प्रॉपर्टी HTTP.ignore.allow_header.for.405
को false
पर सेट किया गया है या नहीं.
- Message प्रोसेसर मशीन पर,
/opt/apigee/edge-message- processor/conf
डायरेक्ट्री मेंHTTP.ignore.allow_header.for.405
प्रॉपर्टी खोजें और देखें कि क्या इसेfalse
पर सेट किया गया है, जैसा कि नीचे दिखाया गया है:grep -ri "HTTP.ignore.allow_header.for.405" /opt/apigee/edge-message-processor/conf
- अगर प्रॉपर्टी, Message प्रोसेसर पर सही तरीके से अपडेट हो जाती है, तो ऊपर दिए गए निर्देश में,
http.properties
फ़ाइल मेंHTTP.ignore.allow_header.for.405
प्रॉपर्टी की वैल्यूfalse
के तौर पर दिखनी चाहिए, जैसा कि यहां दिखाया गया है:/opt/apigee/edge-message-processor/conf/http.properties:HTTP.ignore.allow_header.for.405=false
- अगर आपको
HTTP.ignore.allow_header.for.405
प्रॉपर्टी की वैल्यू अब भीtrue
के तौर पर दिखती है, तो पुष्टि करें कि आपने 'अनदेखा करें' कॉन्फ़िगर करने की प्रक्रिया के लिए 405 प्रॉपर्टी के हेडर को 'मैसेज प्रोसेसर' पर 'गलत' होने की अनुमति दें में सही तरीके से बताए गए तरीके का पालन किया है. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं. - अगर अब भी
HTTP.ignore.allow_header.for.405
प्रॉपर्टी में बदलाव नहीं हो पा रहा है, तो Apigee Edge की सहायता टीम से संपर्क करें.