वर्चुअल होस्ट के बारे में जानकारी

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

Edge में, राउटर सभी आने वाले एपीआई ट्रैफ़िक को हैंडल करता है. इसका मतलब है कि एपीआई प्रॉक्सी के सभी एचटीटीपी और एचटीटीपीएस अनुरोध, सबसे पहले Edge राऊटर से मैनेज किए जाते हैं.

वर्चुअल होस्ट की मदद से, किसी सर्वर पर कई डोमेन नेम होस्ट किए जा सकते हैं. 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

Cloud for the Cloud में वर्चुअल होस्ट के बारे में जानकारी

हर 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" वाले डोमेन नेम को आपको अपने ग्राहकों को न दिखाना हो. आप Edge पर अपने संगठन से किसी डोमेन नेम को मैप करने के लिए, डीएनएस एंट्री और CNAME रिकॉर्ड का इस्तेमाल कर सकते हैं. आपको एक ऐसा वर्चुअल होस्ट भी बनाना होगा जिसमें होस्ट अन्य डोमेन नेम, उस डोमेन नेम पर सेट हो. इससे डेवलपर, आपकी कंपनी के किसी खास डोमेन के ज़रिए, आपके एपीआई को ऐक्सेस कर सकते हैं.

यहां Edge में कस्टम डोमेन का एक उदाहरण दिया गया है:

https://apis.acme.com/{proxy-base-path}/{resource-path}

प्राइवेट क्लाउड के लिए Edge पर वर्चुअल होस्ट के बारे में जानकारी

Private Cloud के लिए Apigee Edge इंस्टॉल करने पर, आपके लिए कोई डिफ़ॉल्ट संगठन, एनवायरमेंट या वर्चुअल होस्ट नहीं बनाए जाते. Edge इंस्टॉल करने की प्रक्रिया पूरी करने के बाद, "शामिल होने की" प्रोसेस से पहली बार एक संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाया जाता है.

ऑनबोर्डिंग की प्रोसेस पूरी करने के लिए, Edge मैनेजमेंट सर्वर नोड पर यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

यहां configFile में उपयोगकर्ता, संगठन, एनवायरमेंट, और वर्चुअल होस्ट बनाने के लिए ज़रूरी जानकारी मौजूद होती है.

उदाहरण के लिए, आपने:

  • संगठन के एडमिन के तौर पर काम करने के लिए चुना गया उपयोगकर्ता
  • example नाम वाला संगठन
  • prod नाम वाले संगठन का एनवायरमेंट
  • एनवायरमेंट में default नाम का एक वर्चुअल होस्ट, जो पोर्ट 9001 पर एचटीटीपी ऐक्सेस की अनुमति देता है
  • राऊटर को ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले डीएनएस नाम का होस्ट उपनाम या IP:9001 फ़ॉर्म में, राऊटर और वर्चुअल होस्ट के पोर्ट का आईपी पता.

बाद में, कंपनी की इमारत में मौजूद Edge के वर्शन में कई संगठन, एनवायरमेंट, और वर्चुअल होस्ट जोड़े जा सकते हैं. ज़्यादा जानकारी के लिए, ये देखें:

वर्चुअल होस्ट, Edge राऊटर पर खुले होते हैं. इसलिए, आपको यह पक्का करना होगा कि वर्चुअल होस्ट के लिए आपने जो पोर्ट तय किया है वह राऊटर पर खुला हो. पोर्ट खोलने के लिए, नीचे दिए गए फ़ॉर्म में दिए गए निर्देश का इस्तेमाल करें:

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 को इंस्टॉल करने का आपका तरीका किस तरह का है: क्लाउड या Private Cloud.

क्लाउड के लिए Edge में उपनाम और डीएनएस नाम होस्ट करें

Edge for the Cloud में, जब पहली बार एज संगठन बनाया जाता है, तो 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 रिकॉर्ड बनाना होगा.

यहां दिए गए डायग्राम में यह दिखाया गया है कि Edge एपीआई अनुरोध को कैसे प्रोसेस करता है:

इस उदाहरण में:

  • api.acme.com आपका पसंदीदा डोमेन नेम है.
  • api.acme.com को acme-prod.apigee.net पर ले जाने के लिए आपने डीएनएस एंट्री और CNAME रिकॉर्ड तय किए हैं.
  • अनुरोध में Host हेडर होता है. इसका इस्तेमाल राऊटर, अनुरोध को मैनेज करने वाले वर्चुअल होस्ट का पता लगाने के लिए करता है.

इस उदाहरण में, आपने वर्चुअल होस्ट की परिभाषा में यह जानकारी दी है:

  • नाम = myvhost
  • होस्ट का उपनाम = apis.acme.com
  • पोर्ट = 443
  • TLS का ऐक्सेस चालू करें

ज़्यादा जानकारी के लिए, क्लाउड के लिए वर्चुअल होस्ट कॉन्फ़िगर करना देखें.

प्राइवेट क्लाउड के लिए Edge में होस्ट उपनाम और डीएनएस नाम

EDGE for the Cloud की तरह, आपको ऐसे वर्चुअल होस्ट बनाने होते हैं जो होस्ट उपनाम के लिए आपके डोमेन नेम का इस्तेमाल करते हैं. इसके बाद आप उन वर्चुअल होस्ट को ऐक्सेस करने के लिए अपनी खुद की डीएनएस एंट्री और CNAME रिकॉर्ड बनाएं.

क्लाउड और निजी क्लाउड के बीच एक अंतर यह है कि Cloud Apigee में, आपके संगठनों के लिए अपने-आप डीएनएस नाम इस फ़ॉर्म में बनाए जाते हैं:

  • name=डिफ़ॉल्ट: http://{org-name}-{env-name}.apigee.net (राउटर पोर्ट 80)
  • name=secure: https://{org-name}-{env-name}.apigee.net (राउटर पोर्ट 443)

'निजी क्लाउड के लिए Edge' में, आपको अपने राऊटर के आईपी पते और पोर्ट के लिए डीएनएस एंट्री बनानी होगी.

उदाहरण के लिए, आप इस जानकारी को वर्चुअल होस्ट की परिभाषा में देते हैं:

  • नाम = myvhost
  • होस्ट का उपनाम = apis.acme.com
  • पोर्ट = 9001
  • TLS का ऐक्सेस चालू करें

यहां दिए गए डायग्राम में यह दिखाया गया है कि Edge एपीआई अनुरोध को कैसे प्रोसेस करता है:

इस उदाहरण में:

  • api.acme.com आपका पसंदीदा डोमेन नेम है.
  • api.acme.com को राऊटर के आईपी पते और पोर्ट पर ले जाने के लिए, आपने डीएनएस और CNAME रिकॉर्ड तय किया है.
  • अनुरोध में Host हेडर होता है. इसका इस्तेमाल राऊटर, अनुरोध को मैनेज करने वाले वर्चुअल होस्ट का पता लगाने के लिए करता है.

ज़्यादा जानकारी के लिए, प्राइवेट क्लाउड के लिए वर्चुअल होस्ट कॉन्फ़िगर करना देखें.

उपनाम और वाइल्डकार्ड होस्ट करें

होस्ट के उपनाम में "*" वाइल्डकार्ड वर्ण शामिल किया जा सकता है. "*" वाइल्डकार्ड वर्ण सिर्फ़ होस्ट उपनाम की शुरुआत में (पहले "." से पहले) हो सकता है और इसे दूसरे वर्णों के साथ नहीं मिलाया जा सकता.

वाइल्डकार्ड का इस्तेमाल करके, मान्य होस्ट उपनाम का एक उदाहरण नीचे दिया गया है:

*.example.com

ये उदाहरण गलत हैं:

  www.*.example.com
  w*.example.com

वर्चुअल होस्ट के उपनाम में वाइल्डकार्ड का इस्तेमाल करने से, एपीआई प्रॉक्सी, alpha.example.com, beta.example.com या live.example.com जैसे एक से ज़्यादा सबडोमेन पर भेजे गए कॉल को हैंडल कर सकते हैं. वाइल्डकार्ड उपनाम का इस्तेमाल करने से, आपको प्रॉडक्ट की तय सीमाओं के अंदर रहने के लिए हर एनवायरमेंट में कम वर्चुअल होस्ट का इस्तेमाल करने में मदद मिलती है. ऐसा इसलिए होता है, क्योंकि वाइल्डकार्ड वाले वर्चुअल होस्ट को एक ही वर्चुअल होस्ट के तौर पर गिना जाता है.

वर्चुअल होस्ट के लिए TLS सर्टिफ़िकेट के, सर्टिफ़िकेट के CN नाम में मेल खाने वाला वाइल्डकार्ड होना चाहिए. उदाहरण के लिए, *.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 का इस्तेमाल किया जा रहा है, तो उपलब्ध प्रॉपर्टी की सूची, आपके Edge के वर्शन पर भी निर्भर करती है. वर्चुअल होस्ट की सभी प्रॉपर्टी की पूरी जानकारी के लिए, वर्चुअल होस्ट प्रॉपर्टी का रेफ़रंस लेख पढ़ें.

अपने EDGE वर्शन के लिए वर्चुअल होस्ट बनाने के बारे में ज़्यादा जानकारी के लिए यहां देखें: