Private Cloud के लिए वर्चुअल होस्ट कॉन्फ़िगर करना

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

ऑन-प्राइमिस इंस्टॉलेशन में, आपके पास वर्चुअल होस्ट पर पूरा कंट्रोल होता है. किसी भी संगठन के लिए, किसी भी एनवायरमेंट में, TLS का इस्तेमाल करके या बिना इस्तेमाल किए वर्चुअल होस्ट बनाए जा सकते हैं.

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

ज़्यादा जानें:

होस्ट के उपनामों के बारे में जानकारी

वर्चुअल होस्ट बनाते समय, आपको वर्चुअल होस्ट का होस्ट उपनाम बताना होगा. आम तौर पर, यह वर्चुअल होस्ट का डीएनएस नेम होता है.

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

वर्चुअल होस्ट बनाना

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

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

ब्राउज़र का इस्तेमाल करके वर्चुअल होस्ट बनाना

इस सेक्शन में, ब्राउज़र (सिर्फ़ Edge यूज़र इंटरफ़ेस) का इस्तेमाल करके वर्चुअल होस्ट बनाने का तरीका बताया गया है.

Edge के यूज़र इंटरफ़ेस में नया वर्चुअल होस्ट बनाने के लिए:

  1. Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें.
  2. एडमिन > वर्चुअल होस्ट चुनें.
  3. ड्रॉप-डाउन सूची से एनवायरमेंट चुनें.

    Edge, उस एनवायरमेंट के वर्चुअल होस्ट की सूची दिखाता है.

  4. नया वर्चुअल होस्ट बनाने के लिए, + वर्चुअल होस्ट चुनें.

    Edge, वर्चुअल होस्ट बनाएं फ़ॉर्म दिखाता है.

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

  5. अपना नया वर्चुअल होस्ट तय करें. ध्यान दें कि बेस यूआरएल फ़ील्ड में प्रोटोकॉल शामिल होना चाहिए (जैसे, फ़ील्ड की वैल्यू से पहले "http://" या "https://".)

    इसके अलावा, ध्यान दें कि:

    • जितने चाहें उतने वर्चुअल होस्ट बनाए जा सकते हैं
    • TLS का इस्तेमाल करना ज़रूरी नहीं है. इसका वर्शन 1.0, 1.1 या 1.2 हो सकता है
    • वर्चुअल होस्ट के पोर्ट को कॉन्फ़िगर किया जा सकता है
  6. अपना नया वर्चुअल होस्ट सेव करने के लिए, बनाएं बटन पर क्लिक करें.

एपीआई की मदद से वर्चुअल होस्ट बनाना

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

<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: अगर वर्चुअल होस्ट को TLS के साथ काम करने के लिए कॉन्फ़िगर किया गया है, तो एचटीटीपीएस का इस्तेमाल करें. अगर वर्चुअल होस्ट, टीएलएस के साथ काम नहीं करता है, तो एचटीटीपी का इस्तेमाल करें.
  • 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>

एचटीटीपी प्रोटोकॉल का इस्तेमाल करने वाला वर्चुअल होस्ट बनाने के लिए, यह तरीका अपनाएं:

  1. वर्चुअल होस्ट बनाएं एपीआई का इस्तेमाल करके वर्चुअल होस्ट बनाएं. यहां 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
    
  2. होस्ट के उपनाम से मेल खाने वाले वर्चुअल होस्ट के लिए डीएनएस रिकॉर्ड बनाएं.
  3. अगर आपके पास कोई मौजूदा एपीआई प्रॉक्सी है, तो प्रॉक्सी एंडपॉइंट में <HTTPConnection> एलिमेंट में वर्चुअल होस्ट जोड़ें. वर्चुअल होस्ट, सभी नई एपीआई प्रॉक्सी में अपने-आप जुड़ जाता है. वर्चुअल होस्ट का इस्तेमाल करने के लिए, एपीआई प्रॉक्सी कॉन्फ़िगर करना देखें.

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

वर्चुअल होस्ट में बदलाव करने के लिए, यह तरीका अपनाएं:

  1. वर्चुअल होस्ट अपडेट करें एपीआई का इस्तेमाल करके वर्चुअल होस्ट अपडेट करें. यहां <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
  2. सिर्फ़ Edge for Private Cloud के वर्शन 4.16.01 और 4.16.05 के लिए, अगर किसी मौजूदा वर्चुअल होस्ट में बदलाव किया जाता है और पोर्ट नंबर में बदलाव किए बिना TLS को चालू या बंद किया जाता है, तो:
    1. राऊटर बंद करें:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. /opt/nginx/conf.d में मौजूद कोई भी फ़ाइल मिटाएं:

      rm -f /opt/nginx/conf.d/*
    3. राऊटर चालू करें:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. सभी राऊटर के लिए यह तरीका दोहराएं.