वर्चुअल होस्ट सेट अप करना

Edge for Private Cloud v. 4.17.01

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

Edge में शामिल होने की प्रोसेस के तहत, आपको एक संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाना होगा. नए उपयोगकर्ताओं के लिए इस प्रोसेस को आसान बनाने के लिए, Edge setup-org कमांड देता है.

वर्चुअल होस्ट बनाते समय, आपको नीचे दी गई जानकारी देनी होगी:

  • उस वर्चुअल होस्ट का नाम जिसका इस्तेमाल आप अपने एपीआई प्रॉक्सी में उसका रेफ़रंस देने के लिए करते हैं.
  • वर्चुअल होस्ट के लिए राऊटर पर पोर्ट. आम तौर पर, ये पोर्ट 9001 से शुरू होते हैं और हर नए वर्चुअल होस्ट के लिए एक की बढ़ोतरी करते हैं.
  • वर्चुअल होस्ट का होस्ट का उपनाम. आम तौर पर, वर्चुअल होस्ट का डीएनएस नाम.

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

उदाहरण के लिए, अगर आपने पोर्ट 9001 पर, myapis.apigee.net के होस्ट उपनाम के साथ वर्चुअल होस्ट बनाया है, तो उस वर्चुअल होस्ट की मदद से, किसी एपीआई को cURL का अनुरोध करने पर, यहां दिए गए फ़ॉर्म में से किसी एक का इस्तेमाल किया जा सकता है:

  • अगर आपके पास myapis.apigee.net के लिए डीएनएस एंट्री है:

    curl http://myapis.apigee.net:9001/{private-base-path}/{resource-path}
  • अगर आपके पास myapis.apigee.net के लिए डीएनएस एंट्री नहीं है:

    curl http://<routerIP>:9001/{प्रॉक्सी-base-path}/{resources-path} -H 'Host: myapis.apigee.net'

    इस फ़ॉर्म में, होस्ट के हेडर का आईपी पता डालें और हेडर को पास करें.

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


    curl http://<routerIP>:9001/{प्रॉक्सी-base-path}/{resource-path}

आपके पास वर्चुअल होस्ट के लिए डीएनएस एंट्री न होने पर उपलब्ध विकल्प

अगर आपके पास डीएनएस एंट्री नहीं है, तो एक विकल्प यह है कि होस्ट के उपनाम को राऊटर के आईपी पते और वर्चुअल होस्ट के पोर्ट के तौर पर <routerIP>:port के तौर पर सेट किया जाए. उदाहरण के लिए:

192.168.1.31:9001

इसके बाद आप नीचे दिए गए फ़ॉर्म में कर्ल निर्देश देते हैं:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

इस विकल्प को प्राथमिकता दी जाती है, क्योंकि यह Edge यूआई के साथ अच्छी तरह से काम करता है.

अगर आपके पास एक से ज़्यादा राऊटर हैं, तो हर राऊटर के लिए एक होस्ट उपनाम जोड़ें. साथ ही, हर राऊटर का आईपी पता और वर्चुअल होस्ट के पोर्ट की जानकारी दें.

इसके अलावा, होस्ट के उपनाम को किसी वैल्यू पर भी सेट किया जा सकता है, जैसे कि temp.hostalias.com. इसके बाद, आपको हर अनुरोध पर Host हेडर पास करना होगा:

curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path}  -H 'host: temp.hostalias.com'

या, अपनी /etc/hosts फ़ाइल में होस्ट का उपनाम जोड़ें. उदाहरण के लिए, इस लाइन को /etc/hosts में जोड़ें:

192.168.1.31   temp.hostalias.com

इसके बाद, वैसे ही अनुरोध किया जा सकता है जैसे कि आपके पास डीएनएस एंट्री हो:

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

वर्चुअल होस्ट में सुरक्षित पोर्ट का इस्तेमाल करना

अगर आपको ऐसा वर्चुअल होस्ट बनाना है जो राऊटर को किसी सुरक्षित पोर्ट से जोड़ता है (जैसे, 1024 से कम पोर्ट नंबर), तो आपको ऐसे उपयोगकर्ता के तौर पर चलाने के लिए राऊटर कॉन्फ़िगर करना होगा जिसके पास इन पोर्ट का ऐक्सेस हो. डिफ़ॉल्ट रूप से, राऊटर, "apigee" उपयोगकर्ता के तौर पर चलता है. इसके पास खास अधिकारों वाले पोर्ट का ऐक्सेस नहीं होता.

राऊटर को एक अलग उपयोगकर्ता के तौर पर चलाने के लिए:

  1. रूट के तौर पर, /opt/apigee/etc/edge-router.d/RUN_USER.sh फ़ाइल बनाएं.
  2. फ़ाइल में, यह एंट्री जोड़ें:
    RUN_USER=root
    अगर आपको राऊटर को रूट की तरह नहीं चलाना है, तो ऐसे उपयोगकर्ता के बारे में बताएं जिसके पास पोर्ट का ऐक्सेस हो.
  3. फ़ाइल सेव करें.
  4. अगर आपने रूट के अलावा किसी उपयोगकर्ता के बारे में जानकारी दी है, तो फ़ाइल के मालिक की जगह उस उपयोगकर्ता का नाम बदलें:
    > chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. राऊटर को रीस्टार्ट करें:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-router सीमा