वर्चुअल होस्ट सेट अप करना

Edge for Private Cloud v. 4.17.05

Edge पर वर्चुअल होस्ट उन डोमेन और Edge राऊटर पोर्ट के बारे में बताता है जिन पर एपीआई प्रॉक्सी है ऐप्लिकेशन, एपीआई प्रॉक्सी को ऐक्सेस करने के लिए इस्तेमाल किए जाने वाले यूआरएल को बिना अनुमति के सार्वजनिक करते हैं. एक वर्चुअल होस्ट भी तय करता है कि एपीआई प्रॉक्सी को एचटीटीपी प्रोटोकॉल का इस्तेमाल करके ऐक्सेस किया जा सकता है या एन्क्रिप्ट (सुरक्षित) किए गए एचटीटीपीएस से प्रोटोकॉल का इस्तेमाल करना चाहिए.

Edge में शामिल होने की प्रोसेस के हिस्से के तौर पर, आपको एक संगठन, एनवायरमेंट, और वर्चुअल होस्ट. Edge, setup-org निर्देश देता है, ताकि इस प्रक्रिया को नए उपयोगकर्ताओं के लिए आसान बना देते हैं.

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

  • उस वर्चुअल होस्ट का नाम जिसे एपीआई में रेफ़रंस के लिए इस्तेमाल किया जाता है प्रॉक्सी.
  • वर्चुअल होस्ट के लिए राऊटर पर पोर्ट. आम तौर पर, ये पोर्ट 9001 से शुरू होता है और हर नए वर्चुअल होस्ट के लिए एक-एक करके बढ़ता है.
  • वर्चुअल होस्ट का होस्ट का उपनाम. आम तौर पर, वर्चुअल होस्ट.

उदाहरण के लिए, setup-org कमांड को पास की गई कॉन्फ़िगरेशन फ़ाइल में, इस जानकारी को इस रूप में निर्दिष्ट कर सकता है:

# Specify virtual host information.
VHOST_PORT=9001
VHOST_NAME=default

# If you have a DNS entry for the virtual host.
VHOST_ALIAS=myapis.apigee.net

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

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

  • अगर आपके पास myapis.apigee.net के लिए डीएनएस एंट्री है, तो:

    कर्ल http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
  • अगर आपके पास myapis.apigee.net के लिए डीएनएस एंट्री नहीं है, तो:

    कर्ल http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'होस्ट: myapis.apigee.net'

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

    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है कर्ल http://<routerIP>:9001/{proxy-base-path}/{resource-path}

आपके पास डीएनएस नहीं होने पर विकल्प वर्चुअल होस्ट के लिए एंट्री

आपके पास डीएनएस एंट्री न होने पर, एक विकल्प यह है कि आप होस्ट उपनाम को वर्चुअल होस्ट का राऊटर और पोर्ट, जैसे कि <routerIP>:port. इसके लिए उदाहरण:

VHOST_ALIAS=192.168.1.31:9001

इसके बाद, नीचे दिए गए फ़ॉर्म में कर्ल कमांड बनाएं:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

इस विकल्प को प्राथमिकता दी जाती है, क्योंकि यह Edge यूआई के साथ ठीक से काम करता है.

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

# Specify the IP and port of each router as a space-separated list enclosed in quotes:
# VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"

इसके अलावा, आप होस्ट उपनाम को किसी मान पर सेट कर सकते हैं, जैसे temp.hostalias.com पर दिखेगा. इसके बाद, आपको होस्ट हेडर को हर अनुरोध:

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}

वर्चुअल होस्ट में सुरक्षित पोर्ट का इस्तेमाल करना

अगर आपको ऐसा वर्चुअल होस्ट बनाना है जो राऊटर को किसी सुरक्षित पोर्ट से बाइंड करता हो, जैसे कि पोर्ट संख्या 1000 से कम होती है, तो आपको राऊटर को एक ऐसे उपयोगकर्ता के रूप में चलाने के लिए कॉन्फ़िगर करना होगा, जिसके पास उन पोर्ट को फिर से शुरू कर सकते हैं. डिफ़ॉल्ट रूप से, राऊटर उपयोगकर्ता "apigee" के तौर पर चलता है जिसके पास खास पोर्ट.

राऊटर को किसी अलग उपयोगकर्ता के तौर पर चलाने के लिए:

  1. रूट के तौर पर, फ़ाइल /opt/apigee/etc/edge-router.d/RUN_USER.sh बनाएं.
  2. फ़ाइल में यह एंट्री जोड़ें:
    RUN_USER=root
    अगर आपको राऊटर को रूट की तरह नहीं चलाना है, तो उस उपयोगकर्ता के नाम के बारे में बताएं जिसके पास पोर्ट का ऐक्सेस है.
  3. फ़ाइल सेव करें.
  4. अगर आपने रूट के अलावा किसी अन्य उपयोगकर्ता के बारे में बताया है, तो फ़ाइल का मालिकाना हक बदलकर उस उपयोगकर्ता को कर दें:
    &gt; Chown USER:USER /opt/apigee/etc/Edge-router.d/RUN_USER.sh
  5. राऊटर रीस्टार्ट करें:
    &gt; /opt/apigee/apigee-service/bin/apigee-service Edge-रूटर रीस्टार्ट