Edge पर वर्चुअल होस्ट, उन डोमेन और Edge राऊटर पोर्ट को तय करता है जिन पर एपीआई प्रॉक्सी को दिखाया जाता है. साथ ही, यह उस यूआरएल को भी तय करता है जिसका इस्तेमाल ऐप्लिकेशन, एपीआई प्रॉक्सी को ऐक्सेस करने के लिए करते हैं. वर्चुअल होस्ट से यह भी तय होता है कि एपीआई प्रॉक्सी को एचटीटीपी प्रोटोकॉल का इस्तेमाल करके ऐक्सेस किया जाए या एन्क्रिप्ट किए गए एचटीटीपीएस प्रोटोकॉल का इस्तेमाल करके.
Edge में शामिल होने की प्रोसेस के तहत, आपको एक संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाना होगा. Edge, setup-org कमांड उपलब्ध कराता है, ताकि नए उपयोगकर्ताओं के लिए यह प्रोसेस आसान हो सके.
वर्चुअल होस्ट बनाते समय, आपको यह जानकारी देनी होगी:
- वर्चुअल होस्ट का नाम, जिसका इस्तेमाल एपीआई प्रॉक्सी में रेफ़रंस के तौर पर किया जाता है.
- वर्चुअल होस्ट के लिए, राऊटर पर मौजूद पोर्ट. आम तौर पर, ये पोर्ट 9001 से शुरू होते हैं और हर नए वर्चुअल होस्ट के लिए एक-एक करके बढ़ते हैं.
- वर्चुअल होस्ट का होस्ट एलियास. आम तौर पर, यह वर्चुअल होस्ट का डीएनएस नाम होता है.
उदाहरण के लिए, setup-org कमांड को पास की गई कॉन्फ़िगरेशन फ़ाइल में, यह जानकारी इस तरह दी जा सकती है:
# Specify virtual host information VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host VHOST_ALIAS=myapis.apigee.net
Edge Router, आने वाले अनुरोध के Host हेडर की तुलना, उपलब्ध होस्ट के उपनामों की सूची से करता है. इससे, अनुरोध को मैनेज करने वाले एपीआई प्रॉक्सी का पता चलता है. वर्चुअल होस्ट के ज़रिए अनुरोध करते समय, वर्चुअल होस्ट के होस्ट उपनाम से मैच करने वाला डोमेन नेम डालें. इसके अलावा, राऊटर का आईपी पता और होस्ट उपनाम वाला Host हेडर डालें.
उदाहरण के लिए, अगर आपने पोर्ट 9001 पर myapis.apigee.net के होस्ट एलियास के साथ कोई वर्चुअल होस्ट बनाया है, तो उस वर्चुअल होस्ट के ज़रिए किसी एपीआई को किया गया cURL अनुरोध, इनमें से किसी एक फ़ॉर्म का इस्तेमाल कर सकता है:
- अगर आपके पास myapis.apigee.net के लिए डीएनएस एंट्री है, तो:
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
- अगर आपके पास myapis.apigee.net के लिए डीएनएस एंट्री नहीं है, तो:
curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'
इस फ़ॉर्म में, राऊटर का आईपी पता डालें और
Hostहेडर में होस्ट का उपनाम पास करें.
वर्चुअल होस्ट के लिए डीएनएस एंट्री न होने पर उपलब्ध विकल्प
अगर आपके पास डीएनएस एंट्री नहीं है, तो होस्ट के उपनाम को वर्चुअल होस्ट के राऊटर और पोर्ट के आईपी पते पर सेट करें, जैसे कि routerIP:port. उदाहरण के लिए:
VHOST_ALIAS=192.168.1.31:9001
इसके बाद, नीचे दिए गए फ़ॉर्म में curl कमांड बनाएं:
curl http://routerIP:9001/proxy-base-path/resource-path
यह विकल्प सबसे सही है, क्योंकि यह Edge के नए यूज़र इंटरफ़ेस (यूआई) के साथ अच्छी तरह से काम करता है.
अगर आपके पास एक से ज़्यादा राऊटर हैं, तो हर राऊटर के लिए होस्ट का कोई दूसरा नाम जोड़ें. साथ ही, हर राऊटर का आईपी पता और वर्चुअल होस्ट का पोर्ट बताएं:
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
इसके अलावा, होस्ट के एलियास को 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