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

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

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

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

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

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

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 के सार्वजनिक और निजी क्लाउड के उपयोगकर्ता

निदान के सामान्य चरण

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

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

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

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

  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 है, तो इससे पता चलता है कि बैकएंड सर्वर के यूआरएल का पाथ अमान्य है.

ट्रेस

प्रोसेस #2: ट्रेस टूल का इस्तेमाल करना

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

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

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

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

    गड़बड़ी: अनुरोध का पाथ अमान्य है

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

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

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

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

  9. ध्यान दें कि target.url की वैल्यू में ये कॉम्पोनेंट शामिल हैं:
    • स्कीम: https
    • ऑथरिटी: mocktarget.apigee.net
    • पाथ: ?json
  10. पाथ कॉम्पोनेंट, फ़ॉरवर्ड स्लैश (/) के बजाय सवाल के निशान (?) से शुरू होता है, इसलिए आपको Invalid request path गड़बड़ी मिली है.
  11. ट्रेस में AX (Analytics डेटा रिकॉर्ड किया गया) फ़ेज़ पर जाएं और उस पर क्लिक करें.
  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

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

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

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

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

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

    NGINX ऐक्सेस लॉग से 500 गड़बड़ी का नमूना:

    NGINX ऐक्सेस लॉग की ऊपर दी गई सैंपल एंट्री में X-Apigee- दबाकर गड़बड़ी का कोड और 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. एपीआई मॉनिटरिंग, ट्रेस टूल या 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
      • ऑथरिटी: mocktarget.apigee.net
      • पाथ: ?json

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

    लॉग

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

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

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

    फ़ेल हो रहे एपीआई प्रॉक्सी की समीक्षा करना

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

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

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

    नमूना #1

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

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

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

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

    • स्कीम: https
    • ऑथरिटी: mocktarget.apigee.net
    • पाथ: ?json

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

    नमूना #2

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

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

    ऊपर दिए गए नमूने में, ध्यान दें कि फ़्लो वैरिएबल target.url को अपडेट करने के लिए, किसी वैरिएबल में मौजूद https://mocktarget.apigee.net वैल्यू url और किसी ऐसे वैरिएबल 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
    • ऑथरिटी: mocktarget.apigee.net
    • पाथ: ?user

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

    नमूना #3

    सैंपल #3: Assignments मैसेज की नीति के तहत, 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
    • ऑथरिटी: mocktarget.apigee.net
    • पाथ: ?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

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

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

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

    नमूना #2

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

    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"
    

    नमूना #3

    सैंपल #3: Assignments मैसेज की नीति में, target.url वैरिएबल को अपडेट करना

    AssignmentsMessage नीति के <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 कॉम्पोनेंट को हमेशा फ़ॉरवर्ड स्लैश (/) से शुरू होना चाहिए. ऐसा यहां दिए गए निर्देशों के मुताबिक होना चाहिए:

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

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

    ऐप्लिकेशन की परफ़ॉर्मेंस से जुड़ी जानकारी इकट्ठा करनी होगी

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

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

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

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

    • असफल अनुरोधों के लिए देखा गया पूरा गड़बड़ी का मैसेज
    • परिवेश का नाम
    • एपीआई प्रॉक्सी बंडल
    • एपीआई अनुरोधों के लिए ट्रेस फ़ाइल
    • 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

    References

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