ट्रेस सेशन में एचटीटीपी 304 रिस्पॉन्स

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

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

Edge के यूज़र इंटरफ़ेस (यूआई) में एपीआई को ट्रेस करते समय, Edge for the Private Cloud में, आपको ट्रेस विंडो के स्टेटस कॉलम में एचटीटीपी 304 रिस्पॉन्स दिखता है:

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

कोई गड़बड़ी वाला मैसेज नहीं है - एपीआई प्रॉक्सी कॉल असल में कामयाब जवाब देता है, जैसे कि एचटीटीपी 200. हालांकि, Edge यूज़र इंटरफ़ेस (यूआई) में ट्रेस विंडो, एचटीटीपी 304 रिस्पॉन्स दिखाती है और कोई ट्रेस डेटा इकट्ठा नहीं किया जाता.

संभावित कारण

'निजी क्लाउड के लिए Edge' में, Edge यूज़र इंटरफ़ेस (यूआई) एक ऐसे एपीआई प्रॉक्सी को ट्रेस करने की कोशिश कर रहा है जिसे निजी आईपी पते से ऐक्सेस किया गया है.

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

प्रोडक्शन एनवायरमेंट में, उपयोगकर्ताओं को निजी आईपी पते को ट्रेस करने से रोकने के लिए, आम तौर पर डिफ़ॉल्ट सेटिंग को वैसे ही छोड़ दिया जाता है. उदाहरण के लिए, Edge यूज़र इंटरफ़ेस (यूआई) का सार्वजनिक वर्शन इस तरह से डिप्लॉय किया जाता है.

हालांकि, इंटरनल डेवलपमेंट या टेस्टिंग एनवायरमेंट के लिए, इस डिफ़ॉल्ट को ओवरराइड किया जा सकता है, ताकि आपके एपीआई डेवलपर किसी भी आईपी पते को ट्रेस कर सकें. आम तौर पर, डेवलपमेंट/टेस्टिंग एनवायरमेंट एक फ़ायरवॉल से सुरक्षित होता है, जो सार्वजनिक ऐक्सेस की अनुमति नहीं देता है.

ध्यान दें: सबसे सही तरीका यह है कि निजी आईपी पतों को ट्रेस ऐक्सेस करने से रोकने के लिए, आपको डिफ़ॉल्ट सेटिंग को डिफ़ॉल्ट तौर पर ही रखना चाहिए. यहां तक कि डेवलपमेंट/टेस्टिंग सिस्टम में भी ऐसा नहीं किया जा सकता.

वजह: किसी निजी आईपी पते से एपीआई प्रॉक्सी को ऐक्सेस करने की कोशिश करना

डिफ़ॉल्ट रूप से, Private Cloud के लिए Edge का यूज़र इंटरफ़ेस (यूआई), उपयोगकर्ताओं को निजी आईपी पतों से किए गए एपीआई कॉल को ट्रेस करने से रोकता है. निजी आईपी पतों की सूची में ये चीज़ें शामिल होती हैं:

  • लूपबैक पता (127.0.0.1 या localhost)
  • साइट-लोकल पते (IPv4 - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 के लिए)
  • कोई भी स्थानीय पता (लोकल होस्ट से संपर्क करने वाला कोई भी पता)

उदाहरण के लिए, नीचे दिया गया कर्ल कमांड, 127.0.0.1 के आईपी पते का इस्तेमाल करके, एपीआई प्रॉक्सी को कॉल करता है, जिसे निजी आईपी पता माना जाता है:

curl http://127.0.0.1:9001/myapiproxy

इस कॉल की ट्रेस विंडो में, आपको एचटीटीपी 304 रिस्पॉन्स दिखेगा. भले ही, कर्ल कमांड काम कर रहा हो.

रिज़ॉल्यूशन

प्राइवेट क्लाउड के लिए, Edge के निजी आईपी पतों को ट्रेस करने के लिए Edge यूज़र इंटरफ़ेस (यूआई) को चालू करने के लिए, ui.properties में नीचे दिया गया टोकन सेट करें:

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

इस प्रॉपर्टी को सेट करने के लिए:

  1. ui.properties फ़ाइल को किसी एडिटर में खोलें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
    vi /opt/apigee/customer/application/ui.properties
  2. इन प्रॉपर्टी को 'सही' पर सेट करें:
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. अपने बदलावों को ui.properties में सेव करें.
  4. पक्का करें कि प्रॉपर्टी फ़ाइल का मालिकाना हक, 'apigee' उपयोगकर्ता के पास हो:
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Edge यूज़र इंटरफ़ेस (यूआई) को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

अब EDGE यूज़र इंटरफ़ेस (यूआई) ट्रेस टूल में मौजूद निजी आईपी पतों को ऐक्सेस किया जा सकता है.

बाद में, निजी आईपी पतों से अनुरोधों का पता लगाने से यूज़र इंटरफ़ेस (यूआई) को बंद करने के लिए, ui.properties में बदलाव करें और प्रॉपर्टी को false पर सेट करें. इसके बाद, Edge यूज़र इंटरफ़ेस (यूआई) को रीस्टार्ट करें.

ज़्यादा जानकारी के लिए, Edge के यूआई को लोकल आईपी पतों को ऐक्सेस करने की अनुमति देना लेख पढ़ें.