Edge for Private Cloud v. 4.17.05
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, आने वाले अनुरोध के होस्ट हेडर की तुलना, उपलब्ध होस्ट के उपनामों की सूची से करता है. इससे, अनुरोध को मैनेज करने वाले एपीआई प्रॉक्सी का पता चलता है. वर्चुअल होस्ट के ज़रिए अनुरोध करते समय, वर्चुअल होस्ट के होस्ट उपनाम से मैच करने वाला डोमेन नेम डालें. इसके अलावा, राऊटर का आईपी पता और होस्ट उपनाम वाला होस्ट हेडर डालें.
उदाहरण के लिए, अगर आपने पोर्ट 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'
इस फ़ॉर्म में, राऊटर का आईपी पता डालें और होस्ट हेडर में होस्ट का दूसरा नाम डालें.
ध्यान दें: cURL कमांड, ज़्यादातर ब्राउज़र, और कई अन्य सुविधाएं, अनुरोध के हिस्से के तौर पर डोमेन के साथ होस्ट हेडर को अपने-आप जोड़ देती हैं. इसलिए, cURL कमांड का इस्तेमाल इस फ़ॉर्म में किया जा सकता है:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
वर्चुअल होस्ट के लिए डीएनएस एंट्री न होने पर उपलब्ध विकल्प
अगर आपके पास डीएनएस एंट्री नहीं है, तो होस्ट के उपनाम को राऊटर के आईपी पते और वर्चुअल होस्ट के पोर्ट पर सेट करें. इसके लिए, <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. इसके बाद, आपको हर अनुरोध पर होस्ट हेडर पास करना होगा:
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}वर्चुअल होस्ट में सुरक्षित पोर्ट का इस्तेमाल करना
अगर आपको कोई ऐसा वर्चुअल होस्ट बनाना है जो राऊटर को किसी सुरक्षित पोर्ट से बाइंड करता हो, जैसे कि 1,000 से कम पोर्ट नंबर, तो आपको राऊटर को ऐसे उपयोगकर्ता के तौर पर चलाने के लिए कॉन्फ़िगर करना होगा जिसके पास उन पोर्ट का ऐक्सेस हो. डिफ़ॉल्ट रूप से, राऊटर "apigee" उपयोगकर्ता के तौर पर चलता है. इसके पास खास अधिकारों वाले पोर्ट का ऐक्सेस नहीं होता.
राऊटर को किसी दूसरे उपयोगकर्ता के तौर पर चलाने के लिए:
- रूट के तौर पर, /opt/apigee/etc/edge-router.d/RUN_USER.sh फ़ाइल बनाएं.
- फ़ाइल में यह एंट्री जोड़ें:
RUN_USER=root
अगर आपको राऊटर को रूट के तौर पर नहीं चलाना है, तो ऐसे उपयोगकर्ता की जानकारी दें जिसके पास पोर्ट का ऐक्सेस हो. - फ़ाइल सेव करें.
- अगर आपने रूट के अलावा किसी अन्य उपयोगकर्ता को चुना है, तो फ़ाइल के मालिक को उस उपयोगकर्ता में बदलें:
> chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh - राऊटर को रीस्टार्ट करें:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart