फ़ॉरवर्ड प्रॉक्सी करने की सुविधा कॉन्फ़िगर करें

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

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

फ़ॉरवर्ड प्रॉक्सी के लिए एमपी को कॉन्फ़िगर करने के लिए:

  1. एमपी पर, इस फ़ाइल में बदलाव करें:
    /opt/apigee/customer/application/message-processor.properties

    अगर message-processor.properties फ़ाइल मौजूद नहीं है, तो उसे बनाएं.

  2. नीचे दी गई टेबल में बताई गई प्रॉक्सी से जुड़ी प्रॉपर्टी सेट करने के लिए, फ़ाइल में बदलाव करें.
  3. पक्का करें कि प्रॉपर्टी फ़ाइल का मालिकाना हक 'apigee' उपयोगकर्ता के पास हो:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. प्रॉपर्टी फ़ाइल में किए गए बदलावों को सेव करें.
  5. एमपी को रीस्टार्ट करें, जैसा कि इस उदाहरण में दिखाया गया है:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

नीचे दी गई टेबल में, message-processor.properties फ़ाइल की प्रॉपर्टी के बारे में बताया गया है. इनका इस्तेमाल, बैकएंड सर्वर पर फ़ॉरवर्ड प्रॉक्सी करने के लिए, एमपी को कॉन्फ़िगर करने के लिए किया जाता है:

प्रॉपर्टी ब्यौरा
conf_http_HTTPClient.use.proxy

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

अगर इस वैल्यू को false पर सेट किया जाता है, तो फ़ॉरवर्ड प्रॉक्सी का इस्तेमाल नहीं किया जा सकता.

conf_http_HTTPClient.use.tunneling

डिफ़ॉल्ट रूप से, Edge सभी ट्रैफ़िक के लिए टनलिंग का इस्तेमाल करता है. डिफ़ॉल्ट रूप से टनलिंग की सुविधा बंद करने के लिए, इस प्रॉपर्टी को "false" पर सेट करें.

use.proxy.host.header.with.target.uri

टारगेट होस्ट और पोर्ट को Host हेडर के तौर पर सेट करता है. डिफ़ॉल्ट रूप से, प्रॉक्सी होस्ट और पोर्ट को Host हेडर के तौर पर सेट किया जाता है. इस प्रॉपर्टी को सिर्फ़ टारगेट एंडपॉइंट में सेट किया जा सकता है. उदाहरण के लिए:

<HTTPTargetConnection>
    <Properties>
        <Property name="use.proxy.host.
         header.with.target.uri">true
        </Property>
    </Properties>
    <URL>https://mocktarget.apigee.net/
     my-target</URL>
</HTTPTargetConnection>

conf/http.properties+HTTPClient.proxy.type

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

conf/http.properties+HTTPClient.proxy.host

इससे उस होस्ट का नाम या आईपी पते के बारे में पता चलता है जहां एचटीटीपी प्रॉक्सी चल रही है.

conf/http.properties+HTTPClient.proxy.port

इससे उस पोर्ट के बारे में पता चलता है जिस पर एचटीटीपी प्रॉक्सी चल रहा है. अगर इस प्रॉपर्टी को शामिल नहीं किया जाता है, तो यह डिफ़ॉल्ट रूप से एचटीटीपी के लिए पोर्ट 80 और एचटीटीपीएस के लिए पोर्ट 443 का इस्तेमाल करती है.

conf/http.properties+HTTPClient.proxy.user
conf/http.properties+HTTPClient.proxy.password

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

उदाहरण के लिए:

conf_http_HTTPClient.use.proxy=true
conf_http_HTTPClient.use.tunneling=false
conf/http.properties+HTTPClient.proxy.type=HTTP
conf/http.properties+HTTPClient.proxy.host=my.host.com
conf/http.properties+HTTPClient.proxy.port=3128
conf/http.properties+HTTPClient.proxy.user=USERNAME
conf/http.properties+HTTPClient.proxy.password=PASSWORD

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

<Property name="use.proxy">false</Property>

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

डिफ़ॉल्ट रूप से सभी टारगेट के लिए फ़ॉरवर्ड प्रॉक्सी की सुविधा बंद करने के लिए, अपनी message-processor.properties फ़ाइल में यह प्रॉपर्टी सेट करें:

conf_http_HTTPClient.use.proxy=false

इसके बाद, किसी भी TargetEndpoint के लिए use.proxy को "true" पर सेट करें, ताकि वह एचटीटीपी फ़ॉरवर्ड प्रॉक्सी से गुज़र सके:

<Property name="use.proxy">true</Property>

Edge, प्रॉक्सी पर जाने वाले ट्रैफ़िक के लिए डिफ़ॉल्ट रूप से टनलिंग का इस्तेमाल करता है. डिफ़ॉल्ट रूप से टनलिंग की सुविधा बंद करने के लिए, message-processor.properties फ़ाइल में यह प्रॉपर्टी सेट करें:

conf_http_HTTPClient.use.tunneling=false

अगर आपको किसी खास टारगेट के लिए टनलिंग की सुविधा बंद करनी है, तो TargetEndpoint में use.proxy.tunneling प्रॉपर्टी सेट करें. अगर टारगेट, टीएलएस/एसएसएल का इस्तेमाल करता है, तो इस प्रॉपर्टी को अनदेखा कर दिया जाता है. साथ ही, मैसेज को हमेशा टनल के ज़रिए भेजा जाता है:

<Property name="use.proxy.tunneling">false</Property>

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