500 सर्वर में गड़बड़ी - बैडफ़ॉर्म डेटा

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

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

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

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

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

HTTP/1.1 500 Internal Server Error

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

{
   "fault":{
      "faultstring":"Bad Form Data",
      "detail":{
         "errorcode":"protocol.http.BadFormData"
      }
   }
}

फ़ॉर्म डेटा

इस समस्या को हल करने के बारे में जानकारी देने से पहले, चलिए जानते हैं कि फ़ॉर्म डेटा क्या है.

फ़ॉर्म डेटा, वह जानकारी होती है जिसे उपयोगकर्ता आम तौर पर एचटीएमएल फ़ॉर्म के ज़रिए देता है. इस फ़ॉर्म में टेक्स्ट इनपुट बॉक्स, बटन या चेक बॉक्स जैसे एलिमेंट होते हैं. आम तौर पर, फ़ॉर्म का डेटा, एचटीटीपी अनुरोधों या रिस्पॉन्स के हिस्से के तौर पर की-वैल्यू पेयर की सीरीज़ के तौर पर भेजा जाता है.

फ़ॉर्म डेटा ट्रांसमिशन

  1. कॉन्टेंट-टाइप: app/x-www-form-urlencoded
    • अगर फ़ॉर्म के डेटा का साइज़ छोटा है, तो डेटा को की-वैल्यू पेयर के तौर पर इनके साथ भेजा जाता है:
      • दोनों कुंजियों के वर्ण, फ़ॉर्म - सेक्शन 17.13.4.1 में बताए गए नियमों के मुताबिक एन्कोड किए गए हैं
      • हेडर Content-Type: application/x-www-form-urlencoded

      फ़ॉर्म डेटा के साथ अनुरोध का नमूना:

      curl https://HOSTALIAS/somepath -H "Content-Type: application/x-www-form-urlencoded" -d "username=abc@google.com&pasword=secret123"
      
    • कुंजी और वैल्यू, दोनों में बिना अक्षर और अंकों वाले वर्णों को प्रतिशत कोड में बदला गया है. इसका मतलब है कि उन्हें वर्ण ट्रिपलेट %HH के तौर पर दिखाया जाता है. इसमें प्रतिशत के निशान के बाद दो हेक्साडेसिमल अंक होते हैं. यह किसी खास वर्ण के ASCII कोड को दिखाता है.
    • इसलिए, फ़ॉर्म के डेटा में प्रतिशत के निशान (%) की अनुमति होने पर भी, इसे खास एस्केप सीक्वेंस की शुरुआत के तौर पर दिखाया जाता है. इसलिए, अगर फ़ॉर्म के डेटा में कुंजी या वैल्यू में प्रतिशत का निशान (%) शामिल होना चाहिए, तो इसे %25, के तौर पर ट्रांसमिट किया जाना चाहिए. यह प्रतिशत के चिह्न (%) वर्ण के लिए ASCII कोड को दिखाता है.
  2. कॉन्टेंट-टाइप: मल्टीपार्ट/फ़ॉर्म-डेटा

    अगर आपको ज़्यादा संख्या में बाइनरी डेटा या ऐसे टेक्स्ट को ट्रांसमिट करना है जिसमें बिना ASCII वाले वर्ण हैं, तो डेटा को Content-Type: multipart/form-data की मदद से भेजा जा सकता है, जैसा कि फ़ॉर्म के सेक्शन 17.13.4.2 में बताया गया है

संभावित कारण

यह गड़बड़ी सिर्फ़ तब होती है, जब ये सभी शर्तें पूरी होती हैं:

  1. क्लाइंट से Apigee Edge को भेजे गए एचटीटीपी अनुरोध में ये चीज़ें शामिल होती हैं:
    1. Content-Type: application/x-www-form-urlencoded और
    2. प्रतिशत का चिह्न (%) या प्रतिशत का निशान (%) वाला डेटा फ़ॉर्म, जिसके बाद अमान्य हेक्साडेसिमल वर्ण हैं. इन वर्णों की फ़ॉर्म - सेक्शन 17.13.4.1 के तहत अनुमति नहीं है.
  2. Apigee Edge में मौजूद एपीआई प्रॉक्सी, फ़ॉर्म के उन खास पैरामीटर को पढ़ता है जिनमें ऐसे वर्ण होते हैं जिन्हें अनुरोध फ़्लो में इस्तेमाल करने की अनुमति नहीं है. इसके लिए, ExtractVariables या assignMessage नीति की मदद ली जाती है.

    उदाहरण के लिए, अगर फ़ॉर्म डेटा में प्रतिशत का चिह्न (%) (बिना एन्कोडिंग के) है या प्रतिशत का निशान (%) है, जिसके बाद कुंजी और/या वैल्यू में अमान्य हेक्साडेसिमल वर्ण हैं, तो आपको यह गड़बड़ी मिलेगी.

    इस गड़बड़ी की ये वजहें हो सकती हैं:

    वजह ब्यौरा समस्या हल करने के लिए निर्देश
    अनुरोध में मौजूद फ़ॉर्म पैरामीटर में ऐसे वर्ण हैं जिनकी अनुमति नहीं है क्लाइंट के एचटीटीपी अनुरोध के हिस्से के तौर पर पास किए गए फ़ॉर्म पैरामीटर में, ऐसे सभी वर्ण शामिल हैं जिन्हें इस्तेमाल करने की अनुमति नहीं है. Edge के सार्वजनिक और निजी क्लाउड के उपयोगकर्ता

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

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

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

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

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

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

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

    (बड़ी इमेज देखें)

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

    (बड़ी इमेज देखें)

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

  9. लॉग विंडो से, नीचे दी गई जानकारी पर ध्यान दें:
    • स्थिति कोड: 500
    • गलत इस्तेमाल का सोर्स: proxy
    • गलत कोड: protocol.http.BadFormData
    • गलती से जुड़ी नीति: extractvariables/EV-ExtractFormParams
  10. अगर गलत सोर्स proxy, फ़ॉल कोड, protocol.http.BadFormData, और गलत नीति है
  11. इस उदाहरण में, X-Apigee-fault-policy extractvariables/EV- ExtractFormParams, है. इसका मतलब है कि फ़ॉर्म पैरामीटर को पढ़ते या एक्सट्रैक्ट करते समय, EV-ExtractFormParams नाम की ExtractVariables नीति पूरी नहीं हो सकी.

ट्रेस टूल

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

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

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

    ऊपर दिए गए सैंपल ट्रेस में, ध्यान दें कि EV-ExtractFormParams नाम की ExtractVariables नीति में गड़बड़ी हुई है.

  6. जिस नीति में गड़बड़ी हुई है उसके सामने गड़बड़ी नाम वाले फ़्लो पर जाएं:

  7. ट्रेस में से इन वैल्यू को नोट करें:

    गड़बड़ी: Bad Form Data

    राज्य: PROXY_REQ_FLOW

    error.class: com.apigee.rest.framework.BadRequestException

    • गड़बड़ी Bad Form Data की वैल्यू से पता चलता है कि फ़ॉर्म पैरामीटर में कुछ ऐसे वर्ण थे जिनका इस्तेमाल करने की अनुमति नहीं है.
    • PROXY_REQ_FLOW, स्थिति की वैल्यू से पता चलता है कि एपीआई प्रॉक्सी के अनुरोध फ़्लो में गड़बड़ी हुई.
  8. ट्रेस में AX (Analytics डेटा रिकॉर्ड किया गया) फ़ेज़ पर जाएं और इस पर क्लिक करें.
  9. नीचे की ओर स्क्रोल करके, फ़ेज़ की जानकारी - गड़बड़ी वाले हेडर सेक्शन पर जाएं और नीचे दिखाए गए तरीके से X-Apigee-fault-code, X-Apigee-fault-source, और X-Apigee-fault-policy की वैल्यू तय करें:

  10. ध्यान दें कि X-Apigee-fault-code और X-Apigee-fault-source की वैल्यू, protocol.http.BadFormData और policy हैं. वहीं, X-Apigee-fault-policy की वैल्यू खाली नहीं है. इससे पता चलता है कि यह गड़बड़ी तब हुई थी, जब X-Apigee-fault-policy में बताई गई खास नीति, फ़ॉर्म डेटा (फ़ॉर्म पैरामीटर) को पढ़ रही थी या निकाल रही थी, जिसमें ऐसे वर्ण थे जिन्हें इस्तेमाल करने की अनुमति नहीं है.

    रिस्पॉन्स हेडर वैल्यू
    X-Apigee-fault-code protocol.http.BadFormData
    X-Apigee-fault-source policy
    X-Apigee-fault-policy extractvariables/EV-ExtractFormParams
  11. इस उदाहरण में X-Apigee-fault-policy extractvariables/EV- ExtractFormParams, है. इसका मतलब है कि फ़ॉर्म पैरामीटर को पढ़ते या एक्सट्रैक्ट करते समय, EV-ExtractFormParams नाम की ExtractVariables नीति काम नहीं कर सकी.

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.BadFormData वाली कोई 500 गड़बड़ी तो नहीं है या क्या 500 से जुड़े ऐसे अनुरोध हैं जो अब भी पूरे नहीं हो पा रहे हैं.
  4. अगर आपको X-Apigee-fault-code में, protocol.http.BadFormData की वैल्यू से मेल खाने वाली कोई 500 गड़बड़ी मिलती है, तो X-Apigee-fault-source और X-Apigee-fault-policy की वैल्यू तय करें.

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

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

    हेडर वैल्यू
    X-Apigee-fault-code protocol.http.BadFormData
    X-Apigee-fault-source policy
    X-Apigee-fault-policy extractvariables/EV-ExtractFormParams
  5. ध्यान दें कि X-Apigee-fault-code, X-Apigee-fault-source की वैल्यू protocol.http.BadFormData हैं, policy इसी क्रम में और X-Apigee-fault-policy की वैल्यू खाली नहीं है. इससे पता चलता है कि X-Apigee-fault-policy, में बताई गई खास नीति के दौरान,फ़ॉर्म डेटा (फ़ॉर्म पैरामीटर) को पढ़ने या एक्सट्रैक्ट करने के दौरान, गड़बड़ी हुई थी. इसमें ऐसे वर्ण थे जिन्हें इस्तेमाल करने की X-Apigee-fault-policy,.
  6. इस उदाहरण में, X-Apigee-fault-policy extractvariables/EV- ExtractFormParams, है. इसका मतलब है कि फ़ॉर्म पैरामीटर को पढ़ते समय, EV-ExtractFormParams नाम की ExtractVariables नीति पूरी नहीं हो सकी.

वजह: अनुरोध में मौजूद फ़ॉर्म पैरामीटर के ऐसे वर्ण हैं जिनकी अनुमति नहीं है

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

  1. एपीआई मॉनिटरिंग, ट्रेस टूल या NGINX ऐक्सेस लॉग का इस्तेमाल करके, 500 Internal Server Error के लिए गलत कोड, गलती से जुड़े सोर्स, और गलत नीति का पता लगाना, जैसा कि सामान्य पहचान के तरीकों में बताया गया है.
  2. अगर गलत कोड protocol.http.BadFormData है, गलत सोर्स की वैल्यू proxy या policy है, और गलत नीति वाला फ़ील्ड खाली नहीं है, इसका मतलब है कि गलत नीति में बताई गई नीति, फ़ॉर्म डेटा (फ़ॉर्म पैरामीटर) को पढ़ते या एक्सट्रैक्ट करते समय फ़ेल हो गई.
  3. गलत इस्तेमाल से जुड़ी नीति में दी गई नीति की जांच करें और यहां दी गई जानकारी तय करें:
    1. सोर्स: तय करें कि नीति, अनुरोध या उसके रिस्पॉन्स से डेटा पढ़ रही है या एक्सट्रैक्ट कर रही है.
    2. फ़ॉर्म पैरामीटर: नीति में पढ़े जा रहे खास फ़ॉर्म पैरामीटर तय करें.

      नमूना #1

      सैंपल #1: फ़ॉर्म पैरामीटर निकालने वाली ExtractVariables नीति:

            <ExtractVariables name="EV-ExtractFormParms">
               <DisplayName>EV-ExtractFormParams</DisplayName>
               <Source>request</Source>
               <FormParam name="username">
                  <Pattern ignoreCase="false">{username}</Pattern>
               </FormParam>
               <FormParam name="password">
                 <Pattern ignoreCase="false">{password}</Pattern>
               </FormParam>
               <VariablePrefix>forminfo</VariablePrefix>
             <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
            </ExtractVariables>
            

      ऊपर दी गई ExtractVariables नीति में:

      • सोर्स: request

        यह <Source> एलिमेंट से पता चलता है

      • फ़ॉर्म पैरामीटर: username और password

        यह <FormParam> एलिमेंट में <Pattern> एलिमेंट से दिखता है

      इससे पता चलता है कि क्लाइंट के एचटीटीपी अनुरोध के तहत, Apigee Edge के पास किए गए फ़ॉर्म पैरामीटर username और/या password में ऐसे वर्ण शामिल हैं जिन्हें इस्तेमाल करने की अनुमति नहीं है.

      नमूना #2

      सैंपल #2: AddMessage नीति कॉपी करने वाले फ़ॉर्म पैरामीटर:

            <AssignMessage continueOnError="false" enabled="true" name="AM-CopyFormParams">
              <Copy source="request">
                <FormParams>
                  <FormParam name="username"/>
                  <FormParam name="password"/>
                </FormParams>
              </Copy>
              <AssignTo createNew="true" transport="http" type="request"/>
            </AssignMessage>
            

      ऊपर दी गई ExtractVariables नीति में:

      • स्रोत: request

        यह जानकारी <Copy> एलिमेंट में source एट्रिब्यूट से दी जाती है

      • फ़ॉर्म पैरामीटर: username और password

        यह जानकारी <FormParam> एलिमेंट में name एट्रिब्यूट से दी जाती है

      इससे पता चलता है कि क्लाइंट के एचटीटीपी अनुरोध के तहत, Apigee Edge के फ़ॉर्म पैरामीटर username या password या दोनों को पास किया गया है. इनमें ऐसे सभी वर्ण शामिल हैं जिन्हें इस्तेमाल करने की अनुमति नहीं है.

  4. यह देखें कि तीसरे चरण में दिए गए फ़ॉर्म पैरामीटर में, कौनसे वर्ण इस्तेमाल करने की अनुमति नहीं है. इसके लिए, यहां दिए गए तरीकों में से किसी एक का इस्तेमाल करें:

    ट्रेस टूल

    ट्रेस टूल की मदद से पुष्टि करने के लिए:

    1. अगर आपने समस्या का पता लगाने के सामान्य तरीके में बताए गए तरीके से, सफल न होने वाले अनुरोध के लिए ट्रेस कैप्चर किया है, तो फ़ेल हो चुके अनुरोधों में से किसी एक को चुनें.
    2. अगर आपको पता चलता है कि ऐसे फ़ॉर्म पैरामीटर जिनमें ऐसे वर्ण हैं जिन्हें इस्तेमाल करने की अनुमति नहीं है वे ऊपर दिए गए चरण 3 में बताए गए एचटीटीपी अनुरोध का हिस्सा हैं, तो
      1. क्लाइंट से मिला अनुरोध फ़ेज़ पर जाएं.
      2. नीचे स्क्रोल करके, फ़ेज़ की जानकारी सेक्शन पर जाएं और कॉन्टेंट का अनुरोध करें की समीक्षा करें.

        ( बड़ी इमेज देखें)

      3. ऊपर दिए गए उदाहरण में, ध्यान दें कि फ़ॉर्म पैरामीटर password में प्रतिशत का निशान (%) शामिल है.
      4. प्रतिशत चिह्न (%) का इस्तेमाल खास वर्णों को प्रतिशत एन्कोडिंग के लिए भी किया जाता है. इसलिए, इसे फ़ॉर्म डेटा में दिए गए तरीके से इस्तेमाल नहीं किया जा सकता.
      5. इसलिए, Apigee Edge, गड़बड़ी के कोड protocol.http.BadFormData के साथ 500 Internal Server Error के साथ जवाब देता है.

    वास्तविक अनुरोध

    वास्तविक अनुरोध का इस्तेमाल करके पुष्टि करने के लिए:

    1. अगर आपके पास टारगेट सर्वर से किए गए असल अनुरोध का ऐक्सेस नहीं है, तो रिज़ॉल्यूशन पर जाएं.
    2. अगर आपके पास Apigee Edge से किए गए असल अनुरोध का ऐक्सेस है, तो यह तरीका अपनाएं:
      1. फ़ॉर्म के डेटा के कॉन्टेंट की समीक्षा करें और देखें कि इसमें ऐसे वर्ण मौजूद हैं या नहीं जिन्हें इस्तेमाल करने की अनुमति नहीं है. जैसे, प्रतिशत का निशान (%) या प्रतिशत चिह्न (%) के बाद अमान्य हेक्साडेसिमल वर्ण.

        नमूना #1

        अनुरोध का उदाहरण #1: अनुरोध के हिस्से के तौर पर फ़ॉर्म का डेटा

        curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=123456abc123&client_secret=c23578%ZY"
        

        इस उदाहरण में, ध्यान दें कि client_secret एलिमेंट में प्रतिशत चिह्न (%) के बाद अमान्य हेक्साडेसिमल वर्ण ZY होते हैं.

        नमूना #2

        अनुरोध का उदाहरण #2: फ़ाइल में भेजा गया फ़ॉर्म डेटा:

        curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d @form_data.xml
        

        form_data.xml का कॉन्टेंट:

        xml=<user><username>abc1234@google.com</username><password>qwerty12345!@#$%</password></user>
        

        इस उदाहरण में, ध्यान दें कि एलिमेंट password में प्रतिशत का निशान (%) है, जिसे फ़ॉर्म डेटा में पास नहीं किया जाना चाहिए.

    3. ऊपर दिए गए दो उदाहरणों में, Apigee Edge को भेजे गए एचटीटीपी अनुरोध के हिस्से के तौर पर भेजे गए फ़ॉर्म डेटा में, ऐसे वर्ण शामिल हैं जिन्हें इस्तेमाल करने की अनुमति नहीं है.
    4. इसलिए, Apigee Edge, गड़बड़ी के कोड protocol.http.BadFormData के साथ 500 Internal Server Error के साथ जवाब देता है.

रिज़ॉल्यूशन

  1. पक्का करें कि फ़ॉर्म डेटा की कुंजियों और वैल्यू या क्लाइंट से मिले एचटीटीपी अनुरोध के तहत भेजे गए पैरामीटर में मौजूद खास वर्णों को हमेशा कोड में बदला गया हो. इसके बारे में फ़ॉर्म डेटा - ऐप्लिकेशन/x-www-form-urlencoded में बताया गया है.
  2. ऊपर दिए गए उदाहरणों के ज़रिए, समस्याओं को इस तरह ठीक किया जा सकता है:

    नमूना #1

    सैंपल #1: अनुरोध के हिस्से के तौर पर भेजा गया फ़ॉर्म डेटा:

    ऐसे मान्य हेक्साडेसिमल वर्णों का इस्तेमाल करें जो किसी खास वर्ण के लिए ASCII कोड से मेल खाते हों. उदाहरण के लिए, अगर आपको डॉलर का निशान ($) भेजना है, तो %24 का इस्तेमाल करें, जैसा कि यहां दिखाया गया है:

    curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=123456abc123&client_secret=c23578%24"
    

    नमूना #2

    अनुरोध का उदाहरण #2: फ़ाइल में भेजा गया फ़ॉर्म डेटा:

    curl -X GET "https://HOSTALIAS/myproxy -H "Content-Type: application/x-www-form-urlencoded" -d @form_data.xml
    

    form_data.xml का कॉन्टेंट:

    प्रतिशत (%) के निशान के लिए, प्रतिशत-एन्कोडिंग का इस्तेमाल करें. इसमें, फ़ाइल में बदलाव करके %25 को बदलाव किया जा सकता है, जैसा कि यहां दिखाया गया है:

    xml=<user><username>abc1234@google.com</username><password>qwerty12345!!@#$%25</password></user>
    

खास जानकारी

Apigee Edge के मुताबिक, फ़ॉर्म डेटा नीचे दिए गए निर्देशों के मुताबिक भेजा जाना चाहिए:

खास जानकारी
फ़ॉर्म का डेटा - application/x-www-form-urlencoded

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

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

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

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

  • संगठन का नाम
  • परिवेश का नाम
  • एपीआई प्रॉक्सी का नाम
  • पूरा curl निर्देश, गड़बड़ी कोड protocol.http.BadFormData के साथ 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