आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
ऑन-प्रिमाइसेस इंस्टॉलेशन में, आपके पास वर्चुअल होस्ट का पूरा कंट्रोल होता है. किसी भी संगठन के लिए, किसी भी एनवायरमेंट में वर्चुअल होस्ट बनाए जा सकते हैं. इसके लिए, टीएलएस का इस्तेमाल किया जा सकता है या नहीं भी किया जा सकता.
इस दस्तावेज़ में, सामान्य वर्चुअल होस्ट बनाने का तरीका बताया गया है. इसका मतलब है कि वह टीएलएस के साथ काम नहीं करता. ज़्यादा उदाहरणों के लिए, Private Cloud के लिए, एपीआई का टीएलएस ऐक्सेस कॉन्फ़िगर करना लेख पढ़ें. इसमें टीएलएस के साथ काम करने वाले वर्चुअल होस्ट बनाने के उदाहरण भी शामिल हैं.
ज़्यादा जानें:
- वर्चुअल होस्ट के बारे में जानकारी
- वर्चुअल होस्ट कॉन्फ़िगर करना
- टीएलएस कॉन्फ़िगर करना
- कीस्टोर और ट्रस्टस्टोर
- Private Cloud के लिए, किसी एपीआई के टीएलएस ऐक्सेस को कॉन्फ़िगर करना
होस्ट के उपनामों के बारे में जानकारी
वर्चुअल होस्ट बनाते समय, आपको वर्चुअल होस्ट का होस्ट एलियास बताना होगा. आम तौर पर, यह वर्चुअल होस्ट का डीएनएस नाम होता है.
अनुरोध को हैंडल करने वाली एपीआई प्रॉक्सी का पता लगाने के लिए, 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हेडर में होस्ट का उपनाम पास करना होता है.curl http://routerIP:9001/proxy-base-path/resource-path
वर्चुअल होस्ट के लिए डीएनएस एंट्री न होने पर उपलब्ध विकल्प
अगर आपके पास डीएनएस एंट्री नहीं है, तो होस्ट के उपनाम को वर्चुअल होस्ट के राउटर और पोर्ट के आईपी पते पर सेट किया जा सकता है. जैसे, routerIP:port. उदाहरण के लिए:
192.168.1.31:9001
नीचे दिए गए फ़ॉर्म में curl कमांड देने पर:
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
Private Cloud 4.16.01 और इसके बाद के वर्शन के लिए, Edge पर वर्चुअल होस्ट पोर्ट के बारे में जानकारी
वर्चुअल होस्ट बनाते समय, वर्चुअल होस्ट के लिए इस्तेमाल किए गए राऊटर पोर्ट की जानकारी दी जाती है. उदाहरण के लिए, पोर्ट 9001.
Apigee for Private Cloud के 4.16.01 और इसके बाद के वर्शन के लिए, डिफ़ॉल्ट रूप से राऊटर, "apigee" उपयोगकर्ता के तौर पर काम करता है. इसके पास खास पोर्ट का ऐक्सेस नहीं होता. आम तौर पर, ये पोर्ट 1024 और इससे कम होते हैं. अगर आपको एक ऐसा वर्चुअल होस्ट बनाना है जो राउटर को सुरक्षित पोर्ट से बाइंड करता है, तो आपको राउटर को ऐसे उपयोगकर्ता के तौर पर चलाने के लिए कॉन्फ़िगर करना होगा जिसके पास उन पोर्ट का ऐक्सेस हो. ज़्यादा जानकारी के लिए, वर्चुअल होस्ट सेट अप करना लेख पढ़ें.
वर्चुअल होस्ट बनाना
इस सेक्शन में, Apigee Edge for Private Cloud के लिए वर्चुअल होस्ट बनाने का तरीका बताया गया है. ध्यान दें कि नया वर्चुअल होस्ट बनाने के लिए, आपका संगठन का एडमिन होना ज़रूरी है.
एपीआई या Edge के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, Apigee Edge for Private Cloud के लिए वर्चुअल होस्ट बनाए जा सकते हैं. इनके बारे में, नीचे दिए गए सेक्शन में बताया गया है.
ब्राउज़र का इस्तेमाल करके वर्चुअल होस्ट बनाना
इस सेक्शन में, ब्राउज़र का इस्तेमाल करके वर्चुअल होस्ट बनाने का तरीका बताया गया है. यह तरीका सिर्फ़ Edge यूज़र इंटरफ़ेस (यूआई) के लिए है.
Edge यूज़र इंटरफ़ेस (यूआई) में नया वर्चुअल होस्ट बनाने के लिए:
- Edge management UI में लॉग इन करें.
- एडमिन > वर्चुअल होस्ट को चुनें.
ड्रॉप-डाउन सूची से एनवायरमेंट चुनें.
Edge, उस एनवायरमेंट के लिए वर्चुअल होस्ट की सूची दिखाता है.
- नया वर्चुअल होस्ट बनाने के लिए, + वर्चुअल होस्ट को चुनें.
Edge, वर्चुअल होस्ट बनाएं फ़ॉर्म दिखाता है.
किसी मौजूदा वर्चुअल होस्ट में बदलाव करने के लिए, उसके नाम पर भी क्लिक किया जा सकता है.
- अपने नए वर्चुअल होस्ट को तय करें. ध्यान दें कि बेस यूआरएल फ़ील्ड में प्रोटोकॉल शामिल होना चाहिए. इसका मतलब है कि फ़ील्ड की वैल्यू के पहले "http://" या "https://" जोड़ें.
इसके अलावा, ध्यान दें कि:
- जितने चाहें उतने वर्चुअल होस्ट बनाए जा सकते हैं
- TLS का इस्तेमाल करना ज़रूरी नहीं है. इसका वर्शन 1.0, 1.1 या 1.2 हो सकता है
- वर्चुअल होस्ट के पोर्ट को कॉन्फ़िगर किया जा सकता है
- अपने नए वर्चुअल होस्ट को सेव करने के लिए, बनाएं बटन पर क्लिक करें.
एपीआई की मदद से वर्चुअल होस्ट बनाना
एपीआई की मदद से वर्चुअल होस्ट बनाने के लिए, एक ऐसा एक्सएमएल ऑब्जेक्ट बनाएं जो वर्चुअल होस्ट के बारे में बताता हो. उदाहरण के लिए, यहां दिया गया एक्सएमएल ऑब्जेक्ट, एचटीटीपी प्रोटोकॉल का इस्तेमाल करने वाले वर्चुअल होस्ट के बारे में बताता है:
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>DNS_name_or_IP:port</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>ध्यान दें कि वर्चुअल होस्ट में name प्रॉपर्टी शामिल है. वर्चुअल होस्ट का इस्तेमाल करने के लिए, एपीआई प्रॉक्सी को कॉन्फ़िगर करने के लिए, name प्रॉपर्टी की वैल्यू का इस्तेमाल किया जाता है.
इसके बाद, इस वर्चुअल होस्ट के ज़रिए एपीआई प्रॉक्सी को ऐक्सेस किया जा सकता है. इसके लिए, आपको यहां अनुरोध करना होगा:
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-pathकहां:
httpयाhttps: अगर वर्चुअल होस्ट को टीएलएस के साथ काम करने के लिए कॉन्फ़िगर किया गया है, तो एचटीटीपीएस का इस्तेमाल करें. अगर वर्चुअल होस्ट, टीएलएस के साथ काम नहीं करता है, तो एचटीटीपी का इस्तेमाल करें.- routerIP:port वर्चुअल होस्ट का आईपी पता और पोर्ट नंबर है.
- proxy-base-path और resource-path को एपीआई प्रॉक्सी बनाते समय तय किया जाता है.
आम तौर पर, आईपी पते और पोर्ट नंबर वाले ग्राहकों के लिए अपने एपीआई पब्लिश नहीं किए जाते. इसके बजाय, आपको राउटर और पोर्ट के लिए डीएनएस एंट्री तय करनी होती है. उदाहरण के लिए:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
अगर आपने डीएनएस एंट्री तय की है, तो आपको वर्चुअल होस्ट के लिए होस्ट एलियास बनाना होगा. यह डीएनएस एंट्री के डोमेन नेम से मेल खाना चाहिए. होस्ट का एलियास, उस स्ट्रिंग से मेल खाना चाहिए जिसे क्लाइंट, Host हेडर में पास करता है.
ऊपर दिए गए उदाहरण में, आपको api.myCompany.com का होस्ट एलियास तय करना होगा.
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>एचटीटीपी प्रोटोकॉल का इस्तेमाल करने वाला वर्चुअल होस्ट बनाने के लिए, यह तरीका अपनाएं:
- Create a Virtual Host API का इस्तेमाल करके वर्चुअल होस्ट बनाएं. यहां ms-IP, मैनेजमेंट सर्वर नोड का आईपी पता या डोमेन नाम है:
$ curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>' \ -u sysAdminEmail:password
- होस्ट एलियास से मेल खाने वाले वर्चुअल होस्ट के लिए डीएनएस रिकॉर्ड बनाएं.
- अगर आपके पास कोई मौजूदा एपीआई प्रॉक्सी है, तो प्रॉक्सी एंडपॉइंट में मौजूद
<HTTPConnection>एलिमेंट में वर्चुअल होस्ट जोड़ें. वर्चुअल होस्ट, सभी नई एपीआई प्रॉक्सी में अपने-आप जुड़ जाती है. वर्चुअल होस्ट का इस्तेमाल करने के लिए, एपीआई प्रॉक्सी को कॉन्फ़िगर करना लेख पढ़ें.
वर्चुअल होस्ट में बदलाव करना
वर्चुअल होस्ट में बदलाव करने के लिए, यह तरीका अपनाएं:
-
अपडेट अ वर्चुअल होस्ट एपीआई का इस्तेमाल करके, वर्चुअल होस्ट को अपडेट करें. यहां
<ms-IP>, मैनेजमेंट सर्वर नोड का आईपी पता या डोमेन नाम है. आपको अनुरोध के मुख्य हिस्से में, वर्चुअल होस्ट की पूरी परिभाषा देनी होगी. सिर्फ़ उन एलिमेंट के बारे में न बताएं जिनमें आपको बदलाव करना है. इस उदाहरण में, वर्चुअल होस्ट के पोर्ट नंबर को 9008 से 9009 में बदला गया है:curl -X PUT -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9009</Port> </VirtualHost>' \ -u email:password -
सिर्फ़ Edge for Private Cloud के वर्शन 4.16.01 और 4.16.05 के लिए, अगर आपने किसी मौजूदा वर्चुअल होस्ट में बदलाव किया है और पोर्ट नंबर में बदलाव किए बिना टीएलएस चालू या बंद किया है, तो:
राउटर को बंद करना:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
/opt/nginx/conf.dमें मौजूद किसी भी फ़ाइल को मिटाने के लिए:rm -f /opt/nginx/conf.d/*
राउटर शुरू करें:
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- सभी राऊटर के लिए यह तरीका दोहराएं.