आपको Apigee Edge दस्तावेज़ दिख रहा है.
Apigee X दस्तावेज़ देखें.
Edge में, सभी एपीआई ट्रैफ़िक को हैंडल करता है. इसका मतलब है कि एपीआई प्रॉक्सी के सभी एचटीटीपी और एचटीटीपीएस अनुरोध, पहले एक एज राऊटर से हैंडल किए जाते हैं.
वर्चुअल होस्ट की मदद से, सर्वर पर एक से ज़्यादा डोमेन नेम होस्ट किए जा सकते हैं. Edge के लिए, सर्वर किसी एज राऊटर से जुड़ा होता है. किसी राऊटर पर एक से ज़्यादा वर्चुअल होस्ट तय करने का मतलब है कि राऊटर, एक से ज़्यादा डोमेन नेम के लिए एपीआई अनुरोधों को हैंडल कर सकता है.
Edge पर मौजूद वर्चुअल होस्ट, ऐक्सेस प्रोटोकॉल (एचटीटीपी या एचटीटीपीएस), ओपन राऊटर पोर्ट, और होस्ट उपनाम की जानकारी देता है. होस्ट का उपनाम आम तौर पर, वह डीएनएस डोमेन नेम होता है जो राऊटर के आईपी पते पर मैप होता है.
उदाहरण के लिए, नीचे दी गई इमेज में दो वर्चुअल होस्ट की परिभाषाओं के साथ एक राऊटर दिखाया गया है:
पहला वर्चुअल होस्ट, domainName1 डोमेन पर एचटीटीपीएस अनुरोधों को हैंडल करता है और दूसरा domainName2 पर एचटीटीपी अनुरोधों को हैंडल करता है.
एपीआई प्रॉक्सी के अनुरोध पर, राऊटर की तरफ़ से आने वाले अनुरोध के Host
हेडर की तुलना
होस्ट के उपनामों की सूची से की जाती है. इस सूची में सभी वर्चुअल होस्ट शामिल होते हैं. इससे यह तय होता है कि कौनसे वर्चुअल होस्ट अनुरोध को हैंडल करेंगे.
वर्चुअल होस्ट की परिभाषाओं के बारे में जानकारी
वर्चुअल होस्ट में यह जानकारी शामिल होती है:
- वर्चुअल होस्ट का अंदरूनी नाम. इस नाम का इस्तेमाल, एपीआई प्रॉक्सी में वर्चुअल होस्ट का रेफ़रंस देने के लिए और वर्चुअल होस्ट को कॉन्फ़िगर करते समय किया जाता है.
- वर्चुअल होस्ट का होस्ट उपनाम. आम तौर पर, होस्ट उपनाम एक डीएनएस डोमेन नाम होता है, जो राऊटर पर आईपी पते को मैप करता है. एपीआई प्रॉक्सी अनुरोधों के
Host
हेडर में, वर्चुअल होस्ट का होस्ट उपनाम होना चाहिए. - राऊटर पर ओपन पोर्ट.
- चाहे TLS (एचटीटीपीएस ऐक्सेस) चालू हो या नहीं (एचटीटीपी ऐक्सेस).
उदाहरण के लिए, वर्चुअल होस्ट बनाते समय, आपने यह जानकारी दी है:
- नाम = myvhost
- होस्ट का उपनाम = apis.acme.com
- पोर्ट = 443
- TLS चालू है
वर्चुअल होस्ट के लिए ऊपर दी गई सेटिंग के आधार पर, एपीआई प्रॉक्सी के अनुरोध में फ़ॉर्म का इस्तेमाल किया जाता है:
https://apis.acme.com/{proxy-base-path}/{resource-path}
कहां:
- {proxy-base-path} की जानकारी तब दी जाती है, जब कोई एपीआई प्रॉक्सी बनाया जाता है और हर एपीआई प्रॉक्सी के लिए उसका यूनीक होता है.
उदाहरण के लिए:
https://apis.acme.com/characters
- {}resource-path, संसाधन का पाथ, जिसे एपीआई प्रॉक्सी से ऐक्सेस किया जा सकता है. उदाहरण के लिए:
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
'क्लाउड के लिए Edge' में वर्चुअल होस्ट के बारे में जानकारी
हर Edge संगठन में अपने-आप दो एनवायरमेंट (test
और prod
), हर एनवायरमेंट (डिफ़ॉल्ट और सुरक्षित) में दो वर्चुअल होस्ट, और हर होस्ट उपनाम के लिए डीएनएस रिकॉर्ड शामिल होते हैं.
हर Apigee से दिए गए वर्चुअल होस्ट के होस्ट उपनाम में संगठन और परिवेश का नाम मौजूद होता है, जैसा कि इस टेबल में दिखाया गया है:
परिवेश | वर्चुअल होस्ट का नाम | होस्ट का उपनाम | पोर्ट | TLS चालू है |
---|---|---|---|---|
प्रोडक्शन | डिफ़ॉल्ट | {org-name}-prod.apigee.net |
80 | नहीं |
सुरक्षित | {org-name}-prod.apigee.net |
443 | हां | |
जांच | डिफ़ॉल्ट | {org-name}-test.apigee.net |
80 | नहीं |
सुरक्षित | {org-name}-test.apigee.net |
443 | हां |
उदाहरण के लिए, prod
एनवायरमेंट में "myorg
"
नाम के संगठन का डिफ़ॉल्ट डोमेन नाम "myorg-prod.apigee.net
" है.
इसलिए, उस संगठन में एपीआई प्रॉक्सी को ऐक्सेस करने के लिए, फ़ॉर्म में एक यूआरएल का इस्तेमाल करें:
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path} https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
Apigee के पैसे चुकाकर लिए गए प्लान: हो सकता है कि "apigee.net" वाला डोमेन नेम, वह नहीं हो जो आपको अपने ग्राहकों को दिखाना है. डीएनएस एंट्री और CNAME रिकॉर्ड का इस्तेमाल करके, अपने संगठन के डोमेन को Edge पर मैप किया जा सकता है. आपको उस डोमेन नेम पर सेट किए गए होस्ट उपनाम के साथ, एक वर्चुअल होस्ट भी बनाना होगा. इससे डेवलपर, आपकी कंपनी के खास डोमेन के ज़रिए आपके एपीआई को ऐक्सेस कर पाते हैं.
यहां Edge में एक कस्टम डोमेन का उदाहरण दिया गया है:
https://apis.acme.com/{proxy-base-path}/{resource-path}
Edge for Private Cloud पर वर्चुअल होस्ट के बारे में जानकारी
जब प्राइवेट क्लाउड के लिए Apigee Edge इंस्टॉल किया जाता है, तो आपके लिए कोई भी डिफ़ॉल्ट संगठन, एनवायरमेंट या वर्चुअल होस्ट नहीं होता. एज इंस्टॉल करने की प्रोसेस पूरी करने के बाद, आम तौर पर आपको सबसे पहले "ऑनबोर्डिंग" प्रोसेस की मदद से एक संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाना होता है.
ऑनबोर्डिंग करने के लिए, एज मैनेजमेंट सर्वर नोड पर यह निर्देश दें:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
जहां configFile में उपयोगकर्ता, संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाने के लिए ज़रूरी जानकारी शामिल होती है.
उदाहरण के लिए:
- वह उपयोगकर्ता जिसे आपने संगठन के एडमिन के तौर पर काम करने के लिए चुना है
example
नाम का संगठनprod
नाम का संगठनdefault
नाम के एनवायरमेंट में वर्चुअल होस्ट, जो पोर्ट 9001 पर एचटीटीपी ऐक्सेस की अनुमति देता है- राऊटर को ऐक्सेस करने के लिए इस्तेमाल किए गए डीएनएस नाम का होस्ट उपनाम. साथ ही, राऊटर का आईपी पता या
वर्चुअल होस्ट के पोर्ट का नाम,
IP:9001
में भरा जाना चाहिए.
आप बाद में कंपनी के ऑफ़िस में अपने संगठन के जितने चाहें उतने संगठनों, एनवायरमेंट, और वर्चुअल होस्ट को शामिल कर सकते हैं. ज़्यादा जानकारी के लिए, ये देखें:
एज राऊटर पर वर्चुअल होस्ट खुलते हैं. इसलिए, आपको यह पक्का करना होगा कि आपने वर्चुअल होस्ट के लिए जिस पोर्ट को चुना है वह राऊटर पर खुला हो. पोर्ट खोलने के लिए, नीचे दिए गए फ़ॉर्म में निर्देश दें:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
वह निर्देश चलाने के बाद, फ़ॉर्म में किसी यूआरएल का इस्तेमाल करके अपने एपीआई ऐक्सेस किए जा सकते हैं:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}
आम तौर पर, आप अपने एपीआई को खरीदारों को आईपी पते और पोर्ट नंबर से प्रकाशित नहीं करते हैं. इसके बजाय, आप राऊटर और पोर्ट के लिए डीएनएस एंट्री तय करते हैं. उदाहरण के लिए:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}
डीएनएस एंट्री तय करने पर, आपको होस्ट होस्ट के साथ एक वर्चुअल होस्ट भी बनाना होगा. यह होस्ट, डीएनएस एंट्री के डोमेन नेम से मेल खाता हो. ऊपर दिए गए उदाहरण में, वर्चुअल होस्ट बनाते समय, आपको myAPI.myCo.com का होस्ट उपनाम तय करना होगा.
होस्ट के उपनाम और डीएनएस नामों के बारे में जानकारी
वर्चुअल होस्ट के लिए सेट की जाने वाली एक प्रॉपर्टी होस्ट का उपनाम होता है. होस्ट का उपनाम, आम तौर पर वर्चुअल होस्ट का डीएनएस नाम होता है. होस्ट के उपनाम को सेट करने का तरीका, इस बात पर निर्भर करता है कि आपको किस तरह का इंस्टॉलेशन इंस्टॉल करना है: क्लाउड या निजी क्लाउड.
क्लाउड के लिए, Edge में होस्ट करने वाले उनके उपनाम और डीएनएस नाम होस्ट करें
Edge के लिए क्लाउड में, जब पहली बार कोई एज संगठन बनाया जाता है, तो Apigee अपने-आप दो एनवायरमेंट (test
और prod
), हर एनवायरमेंट (डिफ़ॉल्ट और सुरक्षित) में दो वर्चुअल होस्ट, और हर वर्चुअल होस्ट के लिए डीएनएस रिकॉर्ड बनाता है.
वर्चुअल होस्ट के होस्ट उपनाम में, संगठन और एनवायरमेंट का नाम होता है. इसलिए, वर्चुअल होस्ट के अनुरोध का फ़ॉर्म:
http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
आम तौर पर, आपको ऐसे डिफ़ॉल्ट होस्ट बनाने होते हैं जो apigee.net
डोमेन का इस्तेमाल करने के बजाय, आपके डोमेन नेम का इस्तेमाल करते हैं. ऐसा करने के लिए, पहले आपको अपनी डीएनएस एंट्री और CNAME रिकॉर्ड बनाना होगा.
नीचे दिया गया चित्र किसी एपीआई अनुरोध को प्रोसेस करने के तरीके के लिए सामान्य कॉन्फ़िगरेशन दिखाता है:
इस उदाहरण में:
- api.acme.com आपका पसंदीदा डोमेन नाम है.
- api.acme.com को acme-prod.apigee.net पर भेजने के लिए डीएनएस एंट्री और CNAME रिकॉर्ड की जानकारी दी जाती है.
- अनुरोध में एक ऐसा
Host
हेडर होता है जिसका इस्तेमाल करके राऊटर, उस वर्चुअल होस्ट को तय करता है जो अनुरोध को हैंडल करता है.
इस उदाहरण में, आप वर्चुअल होस्ट की परिभाषा में यह जानकारी देते हैं:
- नाम = myvhost
- होस्ट का उपनाम = apis.acme.com
- पोर्ट = 443
- TLS ऐक्सेस चालू करें
ज़्यादा जानकारी के लिए, क्लाउड के लिए वर्चुअल होस्ट कॉन्फ़िगर करना लेख देखें.
Private Cloud के लिए, Edge में होस्ट करने वाले उपनाम और डीएनएस नाम
Cloud के लिए, Edge की तरह ही ऐसे वर्चुअल होस्ट बनाए जाते हैं जो होस्ट उपनाम के लिए, आपके डोमेन नेम का इस्तेमाल करते हैं. इसके बाद, उन वर्चुअल होस्ट को ऐक्सेस करने के लिए, डीएनएस एंट्री और CNAME रिकॉर्ड बनाया जाता है.
Cloud और प्राइवेट क्लाउड के बीच एक अंतर यह है कि Cloud Apigee में आपके संगठनों के लिए, इस फ़ॉर्म की मदद से अपने-आप डीएनएस नाम अपने-आप बन जाते हैं:
- name=डिफ़ॉल्ट:
http://{org-name}-{env-name}.apigee.net
(रूटर पोर्ट 80) - name=सुरक्षित:
https://{org-name}-{env-name}.apigee.net
(रूटीन पोर्ट 443)
निजी क्लाउड के लिए, आपको अपने राऊटर के आईपी पते और पोर्ट पर डीएनएस की एंट्री बनानी होगी.
उदाहरण के लिए, वर्चुअल होस्ट की परिभाषा में यह जानकारी दी जाती है:
- नाम = myvhost
- होस्ट का उपनाम = apis.acme.com
- पोर्ट = 9001
- TLS ऐक्सेस चालू करें
नीचे दिया गया चित्र किसी एपीआई अनुरोध को प्रोसेस करने के तरीके के लिए सामान्य कॉन्फ़िगरेशन दिखाता है:
इस उदाहरण में:
- api.acme.com आपका पसंदीदा डोमेन नाम है.
- आप api.acme.com को आईपी पते और राऊटर के पोर्ट पर ले जाने के लिए, डीएनएस एंट्री और CNAME रिकॉर्ड तय करते हैं.
- अनुरोध में एक ऐसा
Host
हेडर होता है जिसका इस्तेमाल करके राऊटर, उस वर्चुअल होस्ट को तय करता है जो अनुरोध को हैंडल करता है.
ज़्यादा जानकारी के लिए, Private क्लाउड के लिए वर्चुअल होस्ट कॉन्फ़िगर करना देखें.
होस्ट उपनाम और वाइल्डकार्ड
आप होस्ट उपनाम में "*" वाइल्डकार्ड वर्ण शामिल कर सकते हैं. होस्ट* के उपनाम की शुरुआत में सिर्फ़ "*" वाइल्डकार्ड वर्ण ही शुरू हो सकता है (जिसे पहले ".") कहते हैं. इसे दूसरे वर्णों के साथ नहीं मिलाया जा सकता.
वाइल्डकार्ड का इस्तेमाल करके, मान्य होस्ट उपनाम का उदाहरण नीचे दिया गया है:
*.example.com
ये उदाहरण अमान्य हैं:
www.*.example.com w*.example.com
वर्चुअल होस्ट के उपनाम में वाइल्डकार्ड का इस्तेमाल करने से, API प्रॉक्सी की मदद से
alpha.example.com
, beta.example.com
या
live.example.com
जैसे कई सबडोमेन पर आने वाले कॉल हैंडल किए जा सकते हैं. वाइल्डकार्ड उपनाम का इस्तेमाल करने से, आपको प्रॉडक्ट की सीमाओं में बने रहने के लिए, हर एनवायरमेंट में कम वर्चुअल होस्ट का इस्तेमाल करने में भी मदद मिलती है, क्योंकि वाइल्डकार्ड वाला वर्चुअल होस्ट सिर्फ़ एक वर्चुअल होस्ट के तौर पर गिना जाता है.
वर्चुअल होस्ट के TLS सर्टिफ़िकेट में, सीएन के नाम से मिलता-जुलता वाइल्डकार्ड होना चाहिए.
उदाहरण के लिए, *.example.com
.
वर्चुअल होस्ट प्रॉपर्टी के बारे में जानकारी
Edge में, वर्चुअल होस्ट को एक्सएमएल ऑब्जेक्ट से दिखाया जाता है. उदाहरण के लिए, यहां दिया गया एक्सएमएल ऑब्जेक्ट, किसी वर्चुअल होस्ट के बारे में बताता है:
<VirtualHost name="vhostName"> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <!-- Private Cloud only --> <Interface>interfaceName</Interface> <Port>portNumber</Port> <BaseURL>http://myCo.com<</BaseUrl> <OCSPStapling>off</OCSPStapling> <RetryOptions/> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> <Properties> <Property name="proxy_read_timeout">timeout</Property> <Property name="keepalive_timeout">timeout</Property> <Property name="proxy_request_buffering">onOff</Property> <Property name="proxy_buffering">onOff</Property> <Property name="ssl_protocols">protocolList</Property> <Property name="ssl_ciphers">cipherList</Property> </Properties> </VirtualHost>
प्रॉपर्टी की सूची इस आधार पर सेट की जा सकती है कि आपने क्लाउड के लिए Edge का इस्तेमाल किया है या निजी क्लाउड के लिए एज का. अगर निजी क्लाउड के लिए Edge का इस्तेमाल किया जा रहा है, तो उपलब्ध प्रॉपर्टी की सूची भी आपके एज वर्शन पर निर्भर करती है. वर्चुअल होस्ट की सभी प्रॉपर्टी के बारे में पूरी जानकारी पाने के लिए, वर्चुअल होस्ट प्रॉपर्टी का रेफ़रंस देखें.
Edge के अपने खास वर्शन के लिए वर्चुअल होस्ट बनाने के बारे में ज़्यादा जानकारी के लिए, यहां देखें: