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

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

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

वर्चुअल होस्ट की मदद से, सर्वर पर एक से ज़्यादा डोमेन नेम होस्ट किए जा सकते हैं. Edge के लिए, सर्वर एक Edge राऊटर से जुड़ा होता है. राऊटर पर एक से ज़्यादा वर्चुअल होस्ट तय करके, राऊटर कई डोमेन नेम के लिए एपीआई अनुरोधों को मैनेज कर सकता है.

Edge पर वर्चुअल होस्ट, ऐक्सेस प्रोटोकॉल (एचटीटीपी या एचटीटीपीएस), ओपन राउटर पोर्ट, और होस्ट के लिए कोई दूसरा नाम तय करता है. होस्ट का दूसरा नाम आम तौर पर डीएनएस डोमेन नेम होता है, जो राउटर के आईपी पते से मैप होता है.

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

पहला वर्चुअल होस्ट, domainName1 डोमेन पर एचटीटीपीएस अनुरोधों को मैनेज करता है और दूसरा, domainName2 पर एचटीटीपी अनुरोधों को मैनेज करता है.

एपीआई प्रॉक्सी के अनुरोध पर, राउटर आने वाले अनुरोध के Host हेडर की तुलना, सभी वर्चुअल होस्ट के तय किए गए होस्ट के उपनाम की सूची से करता है. इससे यह पता चलता है कि कौनसा वर्चुअल होस्ट अनुरोध को हैंडल करता है.

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

वर्चुअल होस्ट में यह जानकारी शामिल होती है:

  • वर्चुअल होस्ट का इंटरनल name. एपीआई प्रॉक्सी में वर्चुअल होस्ट का रेफ़रंस देने और वर्चुअल होस्ट को कॉन्फ़िगर करते समय, उस नाम का इस्तेमाल किया जाता है.
  • वर्चुअल होस्ट का होस्ट उपनाम. आम तौर पर, होस्ट का दूसरा नाम डीएनएस होता है डोमेन नेम, जो राऊटर पर आईपी पते से मैप होता है. एपीआई प्रॉक्सी अनुरोधों के Host हेडर में, वर्चुअल होस्ट का होस्ट उपनाम होना चाहिए.
  • राऊटर पर ओपन पोर्ट होना.
  • TLS (एचटीटीपीएस ऐक्सेस) चालू है या नहीं (एचटीटीपी ऐक्सेस).

उदाहरण के लिए, वर्चुअल होस्ट बनाते समय आप नीचे दी गई जानकारी डालते हैं:

  • name = 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} API प्रॉक्सी के ज़रिए ऐक्सेस किए जा सकने वाले संसाधन का पाथ. उदाहरण के लिए:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

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

हर Edge संगठन में दो एनवायरमेंट (test और prod), हर एनवायरमेंट में दो वर्चुअल होस्ट (डिफ़ॉल्ट और सुरक्षित) और हर होस्ट उपनाम के लिए डीएनएस रिकॉर्ड अपने-आप शामिल होते हैं.

Apigee के दिए गए हर वर्चुअल होस्ट के होस्ट के उपनाम में, संगठन और एनवायरमेंट का नाम होता है, जैसा कि नीचे दी गई टेबल में दिखाया गया है:

परिवेश वर्चुअल होस्ट का नाम होस्ट का दूसरा नाम पोर्ट टीएलएस चालू होना
prod डिफ़ॉल्ट {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 for Private Cloud पर वर्चुअल होस्ट के बारे में जानकारी

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

शामिल करने के लिए, Edge Management Server नोड पर यह कमांड चलाएं:

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

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

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

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

बाद में, 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 को किस तरह से इंस्टॉल किया है: क्लाउड या निजी क्लाउड.

Edge for the Cloud में होस्ट के उपनाम और डीएनएस नेम

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

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

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

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

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

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

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

Edge for Private Cloud में होस्ट के लिए इस्तेमाल होने वाले दूसरे नाम और डीएनएस नेम

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

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

  • name=default: http://{org-name}-{env-name}.apigee.net (राऊटर पोर्ट 80)
  • name=secure: https://{org-name}-{env-name}.apigee.net (राऊटर पोर्ट 443)

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

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

  • name = myvhost
  • होस्ट का दूसरा नाम = apis.acme.com
  • port = 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 सर्टिफ़िकेट के सीएन नाम में, मेल खाने वाला वाइल्डकार्ड होना चाहिए. उदाहरण के लिए, *.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>

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

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