मैसेज प्रोसेसर में 405 प्रॉपर्टी के लिए, हेडर अनदेखा करने की अनुमति कॉन्फ़िगर करें

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 पर वापस लाया जा सकता है.

शुरू करने से पहले

इस दस्तावेज़ में दिए गए चरणों का इस्तेमाल करने से पहले, पक्का करें कि आप इन विषयों को समझ गए हों:

अनदेखा करने को कॉन्फ़िगर करने से, 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 को कॉन्फ़िगर करने का तरीका में बताए गए सिंटैक्स के मुताबिक किया जाता है.

  1. Message प्रोसेसर मशीन पर, इस फ़ाइल को किसी एडिटर में खोलें. अगर यह पहले से मौजूद नहीं है, तो इसे बनाएं.

    /opt/apigee/customer/application/message-processor.properties
    

    उदाहरण के लिए, vi का इस्तेमाल करके फ़ाइल खोलने के लिए, यह डालें:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. प्रॉपर्टी फ़ाइल में, इस फ़ॉर्मैट में कोई लाइन जोड़ें:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  3. बदलावों को सेव करें.
  4. प्रॉपर्टी फ़ाइल का मालिकाना हक, apigee उपयोगकर्ता के पास हो, जैसा कि यहां दिखाया गया है:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. नीचे दिखाए गए तरीके के मुताबिक, मैसेज प्रोसेसर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो सभी मैसेज प्रोसेसर पर ऊपर दिया गया तरीका दोहराएं.

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 पर सेट किया गया है या नहीं.

  1. 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
    
  2. अगर प्रॉपर्टी, 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
    
  3. अगर आपको अब भी HTTP.ignore.allow_header.for.405 प्रॉपर्टी की वैल्यू, false के तौर पर दिखती है, तो पुष्टि करें कि आपने मैसेज प्रोसेसर में 405 प्रॉपर्टी के लिए, 'अनदेखा करने की अनुमति दें' हेडर को 'सही' पर सेट करने में दिए गए सभी निर्देशों का सही तरीके से पालन किया है. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर अब भी HTTP.ignore.allow_header.for.405 प्रॉपर्टी में बदलाव नहीं हो पा रहा है, तो Apigee Edge की सहायता टीम से संपर्क करें.

'अनदेखा करें' को कॉन्फ़िगर करने से, Message प्रोसेसर पर 405 प्रॉपर्टी के हेडर को 'गलत' होने की अनुमति मिलती है

इस सेक्शन में बताया गया है कि Message प्रोसेसर पर HTTP.ignore.allow_header.for.405 प्रॉपर्टी को उसकी डिफ़ॉल्ट वैल्यू false पर कैसे कॉन्फ़िगर करें. इसके लिए, टोकन का इस्तेमाल Edge को कॉन्फ़िगर करने का तरीका में बताए गए सिंटैक्स के मुताबिक किया जाता है.

  1. पुष्टि करें कि 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
    
  2. अगर 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
    
  3. अगर ऊपर दिए गए निर्देश से पता चलता है कि HTTP.ignore.allow_header.for.405 प्रॉपर्टी, false (डिफ़ॉल्ट वैल्यू) पर सेट है, तो आपको कुछ और करने की ज़रूरत नहीं है. इसका मतलब है कि यह तरीका न अपनाएं.
  4. अगर प्रॉपर्टी HTTP.ignore.allow_header.for.405 को true पर सेट किया गया है, तो इसकी डिफ़ॉल्ट वैल्यू false पर वापस जाने के लिए, यह तरीका अपनाएं.
  5. Message प्रोसेसर मशीन पर, एडिटर में नीचे दी गई फ़ाइल खोलें:

    /opt/apigee/customer/application/message-processor.properties
    

    उदाहरण के लिए, vi का इस्तेमाल करके फ़ाइल खोलने के लिए, यह डालें:

    vi /opt/apigee/customer/application/message-processor.properties
    
  6. प्रॉपर्टी फ़ाइल से यह लाइन हटाएं:
    conf_http_HTTP.ignore.allow_header.for.405=true
    
  7. बदलावों को सेव करें.
  8. प्रॉपर्टी फ़ाइल का मालिकाना हक, apigee उपयोगकर्ता के पास हो, जैसा कि यहां दिखाया गया है:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  9. नीचे दिखाए गए तरीके के मुताबिक, मैसेज प्रोसेसर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  10. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो सभी मैसेज प्रोसेसर पर ऊपर दिया गया तरीका दोहराएं.

Message प्रोसेसर पर 405 प्रॉपर्टी के लिए, 'पुष्टि न करें' की अनुमति वाले हेडर को 'गलत' पर सेट किया गया

इस सेक्शन में, मैसेज प्रोसेसर पर HTTP.ignore.allow_header.for.405 प्रॉपर्टी को false में अपडेट किए जाने की पुष्टि करने का तरीका बताया गया है.

भले ही, मैसेज प्रोसेसर पर वैल्यू अपडेट करने के लिए आपने conf_http_HTTP.ignore.allow_header.for.405 टोकन का इस्तेमाल किया हो, लेकिन आपको पुष्टि करनी होगी कि असल प्रॉपर्टी HTTP.ignore.allow_header.for.405 को false पर सेट किया गया है या नहीं.

  1. 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
    
  2. अगर प्रॉपर्टी, 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
    
  3. अगर आपको HTTP.ignore.allow_header.for.405 प्रॉपर्टी की वैल्यू अब भी true के तौर पर दिखती है, तो पुष्टि करें कि आपने 'अनदेखा करें' कॉन्फ़िगर करने की प्रक्रिया के लिए 405 प्रॉपर्टी के हेडर को 'मैसेज प्रोसेसर' पर 'गलत' होने की अनुमति दें में सही तरीके से बताए गए तरीके का पालन किया है. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर अब भी HTTP.ignore.allow_header.for.405 प्रॉपर्टी में बदलाव नहीं हो पा रहा है, तो Apigee Edge की सहायता टीम से संपर्क करें.