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 राऊटर, अनुरोध को मैनेज करने वाली एपीआई प्रॉक्सी तय करने के लिए, इनकमिंग अनुरोध के 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 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