500 सर्वर में गड़बड़ी - बैडपाथ

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

समस्या का ब्यौरा

क्लाइंट ऐप्लिकेशन को एपीआई कॉल के जवाब में, 500 Internal Server Error एचटीटीपी स्टेटस कोड और गड़बड़ी का कोड protocol.http.BadPath मिलता है.

गड़बड़ी का मैसेज

क्लाइंट ऐप्लिकेशन को यह रिस्पॉन्स कोड मिलता है:

HTTP/1.1 500 Internal Server Error

इसके अलावा, आपको गड़बड़ी का यह मैसेज भी दिख सकता है:

{
   "fault":{
      "faultstring":"Invalid request path",
      "detail":{
         "errorcode":"protocol.http.BadPath"
      }
   }
}

संभावित कारण

यह गड़बड़ी तब होती है, जब बैकएंड सर्वर के अनुरोध यूआरएल में, फ़्लो वैरिएबल target.url के तौर पर दिखाए गए में फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होने वाला path शामिल होता है. यह अमान्य है.

आरएफ़सी 3986, सेक्शन 3: सिंटैक्स कॉम्पोनेंट और आरएफ़सी 3986, सेक्शन 3.3: पाथ के स्पेसिफ़िकेशन के मुताबिक:

  1. यूआरआई सिंटैक्स में ये कॉम्पोनेंट होते हैं:

            foo://example.com:8042/over/there?name=ferret#nose
            \_/   \______________/\_________/ \_________/ \__/
             |            |            |            |       |
          scheme      authority       path        query   fragment
    
  2. path कॉम्पोनेंट ज़रूरी है. इसकी शुरुआत फ़ॉरवर्ड स्लैश (/) से होनी चाहिए और इसमें हमेशा फ़ॉरवर्ड स्लैश होना चाहिए.

इसलिए, अगर बैकएंड सर्वर के अनुरोध यूआरएल में, फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होने वाला path कॉम्पोनेंट है, तो Apigee Edge, 500 Internal Server Error और गड़बड़ी कोड protocol.http.BadPath के साथ जवाब देता है.

उदाहरण के लिए: अगर target.url की वैल्यू https://www.mocktarget.apigee.net?json है, तो यह गड़बड़ी दिखती है. ऐसा इसलिए,क्योंकि path को अमान्य माना जाता है. इसकी वजह यह है कि यह फ़ॉरवर्ड स्लैश (/) के बजाय प्रश्न चिह्न (?) से शुरू होता है.

वजह ब्यौरा इनके लिए समस्या हल करने के निर्देश
बैकएंड सर्वर यूआरएल (target.url) का पाथ अमान्य है बैकएंड सर्वर के यूआरएल में पाथ कॉम्पोनेंट, फ़्लो वैरिएबल target.url से दिखाया जाता है. यह फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होता है. Edge Public और Private Cloud के उपयोगकर्ताओं के लिए

गड़बड़ी का पता लगाने के सामान्य चरण

इस गड़बड़ी का पता लगाने के लिए, इनमें से किसी टूल/तकनीक का इस्तेमाल करें:

एपीआई मॉनिटरिंग

पहली प्रक्रिया: एपीआई मॉनिटरिंग का इस्तेमाल करना

एपीआई मॉनिटरिंग का इस्तेमाल करके गड़बड़ी का पता लगाने के लिए:

  1. Apigee Edge के यूज़र इंटरफ़ेस (यूआई) में, सही भूमिका वाले उपयोगकर्ता के तौर पर साइन इन करें.
  2. उस संगठन पर स्विच करें जिसमें आपको समस्या की जांच करनी है.

  3. विश्लेषण करें > एपीआई मॉनिटरिंग > जांच करें पेज पर जाएं.
  4. वह समयावधि चुनें जिसमें आपको गड़बड़ियां दिखीं.
  5. समय के हिसाब से गड़बड़ी का कोड प्लॉट करें.

  6. उस सेल को चुनें जिसमें गड़बड़ी का कोड protocol.http.BadPath मौजूद है. जैसा कि यहां दिखाया गया है: नीचे:

  7. गड़बड़ी कोड protocol.http.BadPath के बारे में जानकारी, यहां दिखाई गई है:

  8. लॉग देखें पर क्लिक करें और पूरे न हो पाने वाले अनुरोध की लाइन को बड़ा करें.

  9. लॉग विंडो में, यह जानकारी नोट करें:
    • स्टेटस कोड: 500
    • गड़बड़ी का सोर्स: target
    • गड़बड़ी का कोड: protocol.http.BadPath
  10. अगर गड़बड़ी का सोर्स target है और गड़बड़ी का कोड protocol.http.BadPath है, तो इसका मतलब है कि बैकएंड सर्वर यूआरएल का पाथ अमान्य है.

ट्रेस

दूसरी प्रक्रिया: Trace टूल का इस्तेमाल करना

ट्रेस टूल का इस्तेमाल करके गड़बड़ी का पता लगाने के लिए:

  1. ट्रेस सेशन चालू करें. इसके बाद, इनमें से कोई एक काम करें
    • 500 Internal Server Error गड़बड़ी होने का इंतज़ार करें या
    • अगर आपको समस्या का पता चल गया है, तो समस्या को फिर से ठीक करने के लिए एपीआई कॉल करें 500 Internal Server Error
  2. पक्का करें कि Show all FlowInfos चालू हो:

  3. पूरे न हो पाने वाले किसी अनुरोध को चुनें और उसके ट्रेस की जांच करें.
  4. ट्रेस के अलग-अलग फ़ेज़ पर जाएं और पता लगाएं कि गड़बड़ी कहां हुई.
  5. आपको यह गड़बड़ी आम तौर पर, Target Request Flow Started फ़ेज़ के बाद दिखती है. यह गड़बड़ी यहां दिखाई गई है:

  6. ट्रेस से गड़बड़ी की वैल्यू नोट करें:

    error: Invalid request path

    यह गड़बड़ी, Apigee Edge ने Target Request Flow Started फ़ेज़ के बाद की है. इससे पता चलता है कि बैकएंड सर्वर यूआरएल में अमान्य पाथ है. ऐसा तब हो सकता है, जब Apigee Edge में फ़्लो वैरिएबल target.url (जो बैकएंड सर्वर के यूआरएल को दिखाता है) को टारगेट अनुरोध फ़्लो में मौजूद किसी नीति के ज़रिए अमान्य पाथ के साथ अपडेट किया गया हो.

  7. हर फ़्लो में, टारगेट अनुरोध फ़्लो शुरू हुआ फ़ेज़ से लेकर गड़बड़ी वाले फ़्लो तक, पढ़े गए और असाइन किए गए वैरिएबल सेक्शन की जांच करें.
  8. वह नीति तय करें जिसमें फ़्लो वैरिएबल target.url अपडेट किया गया था:

    JavaScript नीति से फ़्लो वैरिएबल को अपडेट करने वाला सैंपल ट्रेस target.url:

    ऊपर दिखाए गए सैंपल ट्रेस में, फ़्लो वैरिएबल की वैल्यू पर ध्यान दें. JS- SetTargetURL नाम की JavaScript नीति में, target.url वैरिएबल की वैल्यू को इस तरह अपडेट किया गया है: target.url : https://mocktarget.apigee.net?json

  9. ध्यान दें कि target.url में मौजूद वैल्यू में ये कॉम्पोनेंट होते हैं:
    • स्कीम: https
    • authority: mocktarget.apigee.net
    • path: ?json
  10. पाथ कॉम्पोनेंट, फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होता है. इसलिए, आपको Invalid request path गड़बड़ी मिलती है.
  11. ट्रेस में AX (Analytics Data Recorded) फ़ेज़ पर जाएं और उस पर क्लिक करें.
  12. नीचे की ओर स्क्रोल करके, फ़ेज़ की जानकारी - गड़बड़ी वाले हेडर सेक्शन पर जाएं. इसके बाद, X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू का पता लगाएं. ये वैल्यू यहां दिखाई गई हैं:

  13. आपको X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू, क्रमशः protocol.http.BadPath और target के तौर पर दिखेंगी. इससे पता चलता है कि यह गड़बड़ी इसलिए हुई है, क्योंकि बैकएंड सर्वर यूआरएल का पाथ अमान्य है.

    रिस्पॉन्स हेडर वैल्यू
    X-Apigee-fault-code protocol.http.BadPath
    X-Apigee-fault-source target

NGINX

तीसरी प्रक्रिया: NGINX के ऐक्सेस लॉग का इस्तेमाल करना

NGINX ऐक्सेस लॉग का इस्तेमाल करके गड़बड़ी का पता लगाने के लिए:

  1. अगर आप Private Cloud के उपयोगकर्ता हैं, तो NGINX के ऐक्सेस लॉग का इस्तेमाल करके, एचटीटीपी 500 Internal Server Error के बारे में अहम जानकारी का पता लगाया जा सकता है.
  2. NGINX के ऐक्सेस लॉग देखें:

    /opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log

  3. खोजें कि क्या किसी खास अवधि के दौरान, गड़बड़ी कोड 500protocol.http.BadPath वाली कोई गड़बड़ी हुई है. ऐसा तब करें, जब समस्या पहले हो चुकी हो. इसके अलावा, यह भी देखें कि क्या अब भी 500 वाली कोई गड़बड़ी हो रही है.
  4. अगर आपको X-Apigee-fault-code की वैल्यू, protocol.http.BadPathकी वैल्यू से मेल खाने वाली 500 गड़बड़ियां मिलती हैं, तो X-Apigee-fault-source की वैल्यू का पता लगाएं.

    NGINX के ऐक्सेस लॉग में मौजूद 500 गड़बड़ी का उदाहरण:

    NGINX ऐक्सेस लॉग की ऊपर दी गई सैंपल एंट्री में, X-Apigee- fault-code और X-Apigee-fault-source: के लिए ये वैल्यू मौजूद हैं:

    हेडर वैल्यू
    X-Apigee-fault-code protocol.http.BadPath
    X-Apigee-fault-source target

    ध्यान दें कि X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू क्रमशः protocol.http.BadPath और target हैं. इससे पता चलता है कि यह गड़बड़ी इसलिए हुई है, क्योंकि बैकएंड सर्वर के यूआरएल में अमान्य पाथ है.

वजह: बैकएंड सर्वर यूआरएल (target.url) का पाथ अमान्य है

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

  1. एपीआई मॉनिटरिंग, Trace Tool या NGINX ऐक्सेस लॉग का इस्तेमाल करके, 500 Internal Server Error के लिए गड़बड़ी का कोड और गड़बड़ी का सोर्स पता करें. इसके बारे में गड़बड़ी का पता लगाने के सामान्य तरीके में बताया गया है.
  2. अगर गड़बड़ी का कोड protocol.http.BadPath है और गड़बड़ी का सोर्स target है, तो इसका मतलब है कि बैकएंड सर्वर के यूआरएल में अमान्य पाथ है.
  3. Apigee Edge में, बैकएंड सर्वर के यूआरएल को फ़्लो वैरिएबल target.url से दिखाया जाता है. आम तौर पर, यह गड़बड़ी तब होती है, जब टारगेट अनुरोध फ़्लो में किसी नीति (प्रॉक्सी/शेयर किए गए फ़्लो में) का इस्तेमाल करके, बैकएंड सर्वर यूआरएल (target.url) को डाइनैमिक तरीके से अपडेट करने की कोशिश की जाती है. ऐसा करने पर, यूआरएल का पाथ अमान्य हो जाता है.

  4. यह पता लगाएं कि क्या फ़्लो वैरिएबल target.url में वाकई अमान्य पाथ है और इसकी वैल्यू का सोर्स क्या है. इसके लिए, इनमें से किसी एक तरीके का इस्तेमाल करें:

    ट्रेस

    ट्रेस टूल का इस्तेमाल करना

    अगर आपने इस गड़बड़ी के लिए ट्रेस कैप्चर किया है, तो ट्रेस टूल का इस्तेमाल करना और

    1. देखें कि क्या target.url का पाथ अमान्य है. इसका मतलब है कि क्या यह फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होता है.
    2. अगर हां, तो उस नीति का पता लगाएं जिसने target.url की वैल्यू में बदलाव किया है या उसे अपडेट किया है, ताकि उसमें अमान्य पाथ शामिल हो सके.

      JavaScript नीति से फ़्लो वैरिएबल को अपडेट करने वाला सैंपल ट्रेस target.url

    3. ऊपर दिए गए सैंपल ट्रेस में, ध्यान दें कि JavaScript नीति ने target.url की वैल्यू में बदलाव किया है या उसे अपडेट किया है, ताकि उसमें अमान्य पाथ शामिल हो सके.
    4. ध्यान दें कि target.url में ये कॉम्पोनेंट होते हैं:
      • स्कीम: https
      • authority: mocktarget.apigee.net
      • path: ?json

      पाथ, फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होता है. इसलिए, यह अमान्य है.

    लॉग

    अपने लॉग सर्वर में लॉग का इस्तेमाल करना

    1. अगर आपको इस गड़बड़ी (कुछ समय के लिए होने वाली समस्या) का पता नहीं चल रहा है, तो देखें कि आपने लॉग सर्वर पर target.url फ़्लो वैरिएबल की वैल्यू के बारे में जानकारी लॉग की है या नहीं. इसके लिए, MessageLogging या ServiceCallout जैसी नीतियों का इस्तेमाल करें.
    2. अगर आपके पास लॉग हैं, तो उनकी समीक्षा करें और
      1. पुष्टि करें कि target.url का पाथ अमान्य तो नहीं है. साथ ही,
      2. देखें कि क्या आपको उस नीति के बारे में जानकारी मिल सकती है जिसकी वजह से target.url में बदलाव करके अमान्य पाथ शामिल किया गया है

    एपीआई प्रॉक्सी

    एपीआई प्रॉक्सी की समीक्षा करना

    अगर आपके पास इस गड़बड़ी का कोई ट्रेस या लॉग नहीं है, तो एपीआई प्रॉक्सी की समीक्षा करें. इससे यह पता चलेगा कि फ़्लो वैरिएबल target.url में क्या बदलाव किया गया या उसे अपडेट किया गया, ताकि उसमें अमान्य पाथ शामिल हो सके. इनकी जांच करें:

    • एपीआई प्रॉक्सी में मौजूद नीति
    • प्रॉक्सी से शुरू किए गए सभी शेयर किए गए फ़्लो
  5. उस नीति की सावधानीपूर्वक जांच करें जो फ़्लो वैरिएबल target.url में बदलाव करती है या उसे अपडेट करती है. उदाहरण के लिए: AssignMessage या JavaScript. साथ ही, target.url को अपडेट करने की वजह का पता लगाएं, ताकि अमान्य पाथ मिल सके.

    यहां कुछ ऐसी नीतियों के उदाहरण दिए गए हैं जो फ़्लो वैरिएबल target.url को गलत तरीके से अपडेट करती हैं. इससे, अमान्य पाथ की वजह से यह गड़बड़ी होती है.

    पहला सैंपल

    उदाहरण #1: JavaScript की नीति को अपडेट करने वाला target.url वैरिएबल

    var url = "https://mocktarget.apigee.net?json"
    context.setVariable("target.url", url);

    ऊपर दिए गए सैंपल में, ध्यान दें कि फ़्लो वैरिएबल target.url को अपडेट किया गया है. इसमें https://mocktarget.apigee.net?json वैल्यू को दूसरे वैरिएबल url. में शामिल किया गया है

    ध्यान दें कि url की वैल्यू में ये कॉम्पोनेंट होते हैं:

    • स्कीम: https
    • authority: mocktarget.apigee.net
    • path: ?json

    पाथ, फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होता है, जो कि अमान्य है. इसलिए, Apigee Edge, गड़बड़ी कोड protocol.http.BadPath के साथ 500 Internal Server Error दिखाता है.

    सैंपल #2

    दूसरा सैंपल: अनुरोध के हेडर में मौजूद वैल्यू के आधार पर, JavaScript की नीति को अपडेट करने वाला target.url वैरिएबल

    var path = context.getVariable("request.header.Path");
    var url = "https://mocktarget.apigee.net" + path
    context.setVariable("target.url", url);

    ऊपर दिए गए सैंपल में, ध्यान दें कि फ़्लो वैरिएबल target.url को अपडेट किया गया है. ऐसा, वैरिएबल url में मौजूद वैल्यू https://mocktarget.apigee.net और दूसरे वैरिएबल path की वैल्यू को जोड़कर किया गया है. इस वैरिएबल की वैल्यू, request.header.Path. से ली गई है

    अगर आपके पास असली अनुरोध या ट्रेस का ऐक्सेस है, तो request.header.Path को पास की गई असली वैल्यू की पुष्टि की जा सकती है.

    उपयोगकर्ता ने सैंपल का अनुरोध किया

    curl -v https://HOST_ALIAS/v1/myproxy -H "Authorization: Bearer <token> -H "Path: ?user"
    

    इस उदाहरण में, हेडर पाथ को अनुरोध के हिस्से के तौर पर नहीं भेजा जाता है. इसलिए, JavaScript नीति में वैरिएबल path की वैल्यू null है.

    इसलिए:

    • url = https://mocktarget.apigee.net + path
    • url = https://mocktarget.apigee.net + "?user"
    • target.url = https://mocktarget.apigee.net?user

    ध्यान दें कि target.url की वैल्यू में ये कॉम्पोनेंट होते हैं:

    • स्कीम: https
    • authority: mocktarget.apigee.net
    • path: ?user

    पाथ, फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होता है, जो कि अमान्य है. इसलिए, Apigee Edge गड़बड़ी कोड protocol.http.BadPath के साथ 500 Internal Server Error दिखाता है.

    तीसरा सैंपल

    तीसरा सैंपल: AssignMessage नीति, target.url वैरिएबल को अपडेट कर रही है

    <AssignMessage async="false" continueOnError="false" enabled="true" name="AM-SetTargetURL">
        <DisplayName>AM-SetTargetURL</DisplayName>
        <AssignVariable>
             <Name>target.url</Name>
             <Value>https://mocktarget.apigee.net?echo</Value>
        </AssignVariable>
        <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
        <AssignTo createNew="false" transport="http" type="request"/>
    </AssignMessage>

    ध्यान दें कि url की वैल्यू में ये कॉम्पोनेंट होते हैं:

    • स्कीम: https
    • authority: mocktarget.apigee.net
    • path: ?echo

    इस उदाहरण में भी, पाथ फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होता है, जो कि अमान्य है. इसलिए, Apigee Edge, गड़बड़ी कोड protocol.http.BadPath के साथ 500 Internal Server Error दिखाता है.

रिज़ॉल्यूशन

यूआरएल स्पेसिफ़िकेशन आरएफ़सी 3986, सेक्शन 3: सिंटैक्स कॉम्पोनेंट के मुताबिक, path कॉम्पोनेंट ज़रूरी है. साथ ही, यह हमेशा "/" से शुरू होना चाहिए. इस समस्या को ठीक करने के लिए, यह तरीका अपनाएं:

  1. पक्का करें कि फ़्लो वैरिएबल target.url से दिखाए गए बैकएंड सर्वर यूआरएल में हमेशा मान्य पाथ हो और यह हमेशा फ़ॉरवर्ड स्लैश (/) से शुरू होता हो.
    1. कुछ मामलों में, हो सकता है कि आपके पास पाथ में संसाधन का नाम न हो. ऐसे में, पक्का करें कि पाथ में कम से कम एक फ़ॉरवर्ड स्लैश (/) हो.
    2. अगर फ़्लो वैरिएबल target.url की वैल्यू तय करने के लिए किसी दूसरे वैरिएबल का इस्तेमाल किया जाता है, तो पक्का करें कि दूसरे वैरिएबल का पाथ अमान्य न हो.
    3. अगर आपको फ़्लो वैरिएबल target.url की वैल्यू तय करने के लिए, स्ट्रिंग के किसी ऑपरेशन का इस्तेमाल करना है, तो पक्का करें कि स्ट्रिंग के ऑपरेशन के नतीजे में अमान्य पाथ न हो.
  2. ऊपर दिए गए उदाहरणों में, इस समस्या को यहां बताए गए तरीके से ठीक किया जा सकता है:

    पहला सैंपल

    उदाहरण #1: JavaScript की नीति को अपडेट करने वाला target.url वैरिएबल

    इस समस्या को ठीक करने के लिए, नीचे दिए गए तरीके से वैरिएबल url में सवाल के निशान (?) के बजाय फ़ॉरवर्ड स्लैश (/) का इस्तेमाल करें:

    var url = "https://mocktarget.apigee.net/json"
    context.setVariable("target.url", url);

    सैंपल #2

    सैंपल #2: अनुरोध के हेडर में मौजूद वैल्यू के आधार पर, JavaScript की नीति को अपडेट करने वाला target.url वैरिएबल

    var path = context.getVariable("request.header.Path");
    var url = "https://mocktarget.apigee.net" + path
    context.setVariable("target.url", url);

    यह पक्का करें कि आपने मान्य पाथ पास किया हो. उदाहरण के लिए: /user अनुरोध के हिस्से के तौर पर हेडर Path. इस समस्या को ठीक करने के लिए, यहां दिया गया तरीका अपनाएं:

    अनुरोध का उदाहरण:

    curl -v https://HOST_ALIAS/v1/myproxy -H "Authorization: Bearer <token> -H "Path: /user"
    

    तीसरा सैंपल

    तीसरा सैंपल: AssignMessage नीति की मदद से target.url वैरिएबल को अपडेट करना

    AssignMessage नीति के <Value> एलिमेंट में कोई मान्य पाथ जोड़ें. इसका मतलब है कि <Value> एलिमेंट में, सवाल के निशान (?) की जगह फ़ॉरवर्ड स्लैश (/) इस्तेमाल करें. साथ ही, इस समस्या को ठीक करने के लिए, इसे https://mocktarget.apigee.net/echo पर सेट करें. ऐसा नीचे दिए गए तरीके से करें:

    <AssignMessage async="false" continueOnError="false" enabled="true" name="AM-SetTargetURL">
        <DisplayName>AM-SetTargetURL</DisplayName>
        <AssignVariable>
             <Name>target.url</Name>
             <Value>https://mocktarget.apigee.net/echo</Value>
        </AssignVariable>
        <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
        <AssignTo createNew="false" transport="http" type="request"/>
    </AssignMessage>

    खास जानकारी

    Apigee Edge को उम्मीद है कि बैकएंड सर्वर यूआरएल में मौजूद path component हमेशा फ़ॉरवर्ड स्लैश (/) से शुरू होना चाहिए. ऐसा इन खास बातों के मुताबिक होना चाहिए:

    खास जानकारी
    आरएफ़सी 3986, सेक्शन 3: सिंटैक्स कॉम्पोनेंट
    आरएफ़सी 3986, सेक्शन 3.3: पाथ

    अगर आपको अब भी Apigee की सहायता टीम से मदद चाहिए, तो गड़बड़ी की जानकारी इकट्ठा करना ज़रूरी है पर जाएं.

    डाइग्नोस्टिक जानकारी इकट्ठा करना ज़रूरी है

    अगर ऊपर दिए गए निर्देशों का पालन करने के बाद भी समस्या बनी रहती है, तो डाइग्नोस्टिक की यह जानकारी इकट्ठा करें. इसके बाद, Apigee Edge की सहायता टीम से संपर्क करें:

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

    • संगठन का नाम
    • परिवेश का नाम
    • एपीआई प्रॉक्सी का नाम
    • curl कमांड का इस्तेमाल करके, गड़बड़ी के कोड protocol.http.BadPath के साथ 500 Internal Server Error को फिर से बनाया गया
    • एपीआई अनुरोधों के लिए ट्रेस फ़ाइल

    अगर आप Private 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

    रेफ़रंस

    फ़्लो वैरिएबल - टारगेट