Edge के साथ SNI का इस्तेमाल करना

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

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

उदाहरण के लिए, अगर अनुरोध टारगेट https://example.com/request/path है, इसके बाद, TLS क्लाइंट, TLS हैंडशेक में server_name एक्सटेंशन जोड़ देता है अनुरोध करें, जैसा कि नीचे दिखाया गया है:

Edge, SNI के साथ इनके लिए काम करता है:

  • क्लाइंट ऐप्लिकेशन से एपीआई प्रॉक्सी के लिए अनुरोध. इस स्थिति में, Edge TLS के रूप में काम करता है सर्वर
  • Edge से बैकएंड तक के अनुरोध. इस स्थिति में, Edge TLS क्लाइंट के तौर पर काम करता है.

SNI पर अतिरिक्त जानकारी के लिए, यहां देखें:

एपीआई प्रॉक्सी के अनुरोध के लिए SNI के साथ काम करता है किनारे

API प्रॉक्सी के अनुरोधों के लिए SNI समर्थन, होस्ट उपनाम और वर्चुअल द्वारा नियंत्रित किया जाता है होस्ट.

वर्चुअल प्रोफ़ाइल के बारे में जानकारी होस्ट और होस्ट अन्य नाम

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

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

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

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

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

SNI इनके साथ कैसे काम करता है होस्ट अन्य नाम

SNI, आपको एक ही पोर्ट पर कई वर्चुअल होस्ट तय करने की अनुमति देता है. हर वर्चुअल होस्ट की TLS सर्टिफ़िकेट और कुंजियां. इसके बाद, Edge वर्चुअल होस्ट और TLS में इस्तेमाल किए जाने वाले सर्टिफ़िकेट/की पेयर का पता लगाता है. server_name के आधार पर एक्सटेंशन की समस्या मौजूद है.

Edge राऊटर, TLS हैंडशेक में server_name एक्सटेंशन को पढ़ता है अनुरोध करता है और फिर सभी वर्चुअल से होस्ट के अन्य नाम के लिए खोज करने के लिए इसका इस्तेमाल करता है होस्ट. अगर राऊटर को किसी होस्ट के उपनाम से मैच होने का पता चलता है, तो राऊटर उस सेवा से जुड़े TLS सर्टिफ़िकेट और कुंजी का इस्तेमाल करता है होस्ट के उपनाम से जुड़ा वर्चुअल होस्ट. अगर कोई मिलता-जुलता टेक्स्ट नहीं मिलता है, तो टीएलएस की मदद से हैंडशेक नहीं किया जा सकेगा.

TLS हैंडशेक विफल होने के बजाय, एक डिफ़ॉल्ट सर्टिफ़िकेट/की पेयर को इस तरह परिभाषित किया जा सकता है अगले सेक्शन में बताया गया है.

Cloud के लिए Edge में डिफ़ॉल्ट सर्टिफ़िकेट/की पेयर तय करना

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

Edge में Cloud के लिए, अगर राऊटर SNI हेडर का किसी होस्ट उपनाम से मिलान न कर सके या क्लाइंट SNI के साथ काम नहीं करता, तो राऊटर Apigee से मिले डिफ़ॉल्ट सर्टिफ़िकेट का इस्तेमाल करता है. जो *.apigee.net है.

प्राइवेट क्लाउड के लिए Edge में डिफ़ॉल्ट सर्टिफ़िकेट/की पेयर तय करना

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

orgName_envName_vhName

राऊटर orgName_envName_vhName के कॉम्बिनेशन में से सर्टिफ़िकेट/कुंजी का इस्तेमाल करता है, वर्णमाला के क्रम में पहले आता है. उदाहरण के लिए, पोर्ट 443 पर अनुरोध आता है और prod एनवायरमेंट में संगठन example के लिए तय किए गए दो वर्चुअल होस्ट:

  • वर्चुअल होस्ट का नाम = default
  • वर्चुअल होस्ट का नाम = test

इस उदाहरण में, राऊटर default नाम के वर्चुअल होस्ट के सर्टिफ़िकेट/की का इस्तेमाल करता है क्योंकि example_prod_default, example_prod_test से पहले वर्णमाला के क्रम में आता है.

डिफ़ॉल्ट वर्चुअल होस्ट चालू करने के लिए:

  1. पहले राऊटर नोड पर, /opt/apigee/customer/application/router.properties में बदलाव करें. अगर वह फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
  2. डिफ़ॉल्ट वर्चुअल होस्ट तय करने के लिए, फ़ाइल में यह प्रॉपर्टी जोड़ें:
    conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true
  3. राऊटर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. बाकी बचे सभी राऊटर के लिए भी यही तरीका दोहराएं.

डिफ़ॉल्ट वर्चुअल होस्ट से प्रमाणपत्र/कुंजी का उपयोग करने के बजाय, आप रूटर पर डिफ़ॉल्ट प्रमाणपत्र/कुंजी. साफ़ तौर पर डिफ़ॉल्ट तौर पर लागू होने वाला डिफ़ॉल्ट पता लगाने के लिए, नीचे दिए गए तरीके का इस्तेमाल करें प्रमाणपत्र/कुंजी का जोड़ा:

  1. पहले राऊटर नोड पर, सर्टिफ़िकेट और निजी कुंजी को राऊटर नोड की किसी जगह पर कॉपी करें जिसे apigee उपयोगकर्ता ऐक्सेस कर सकता है. उदाहरण के लिए, /opt/apigee/customer/application.
  2. फ़ाइलों का मालिकाना हक 'apigee' में बदलें. उपयोगकर्ता:
    chown apigee:apigee /opt/apigee/customer/application/myCert.pem
    chown apigee:apigee /opt/apigee/customer/application/myKey.pem
  3. /opt/apigee/customer/application/router.properties में बदलाव करें. अगर वह फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
  4. फ़ाइल में ये प्रॉपर्टी जोड़ें, ताकि आप डिफ़ॉल्ट सर्टिफ़िकेट/कुंजी तय कर सकें:
    conf_load_balancing_load.balancing.driver.nginx.fallback.server.default.ssl.template.enabled=true
    conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true
  5. जगह की जानकारी देने के लिए, router.properties में फ़ॉलो की जा रही प्रॉपर्टी सेट करें सर्टिफ़िकेट और कुंजी:
    conf_load_balancing_load.balancing.driver.nginx.ssl.cert=/opt/apigee/customer/application/myCert.pem
    conf_load_balancing_load.balancing.driver.nginx.ssl.key=/opt/apigee/customer/application/myKey.pem
  6. राऊटर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  7. बाकी बचे सभी राऊटर के लिए भी यही तरीका दोहराएं.

Edge से ले जाने वाले अनुरोधों के लिए, SNI के साथ काम करता है बैकएंड

Edge, Apigee Edge में, एंडपॉइंट को टारगेट करने के लिए मैसेज प्रोसेसर से SNI के इस्तेमाल के साथ काम करता है क्लाउड और प्राइवेट क्लाउड डिप्लॉयमेंट के लिए. Edge मैसेज प्रोसेसर पर, एसएनआई डिफ़ॉल्ट रूप से चालू होता है क्लाउड के लिए और प्राइवेट क्लाउड में बंद कर दिया जाएगा.

इसका इस्तेमाल किया जा रहा है प्राइवेट क्लाउड के लिए Edge में बैकएंड से SNI

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

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

Edge और Edge के लिए 4.15.07.0x वर्शन के बैकएंड के बीच SNI चालू करें

SNI सक्षम करने के लिए निम्न प्रक्रिया का उपयोग करें:

  1. पहले मैसेज प्रोसेसर नोड पर, फ़ाइल खोलें एडिटर में /opt/apigee4/conf/apigee/message-processor/system.properties.
  2. system.properties के लिए, इस प्रॉपर्टी को 'सही है' पर सेट करें:
    jsse.enableSNIExtension=true
  3. मैसेज प्रोसेसर को रीस्टार्ट करना:
    /opt/apigee4/bin/apigee-service message-processor restart
  4. बाकी बचे सभी मैसेज प्रोसेसर पर यही तरीका दोहराएं.

Edge के 4.16.01 और इसके बाद के वर्शन के लिए, Edge और बैकएंड के बीच SNI चालू करें

SNI सक्षम करने के लिए निम्न प्रक्रिया का उपयोग करें:

  1. पहले मैसेज प्रोसेसर नोड पर, /opt/apigee/customer/application/message-processor.properties में बदलाव करें. अगर वह फ़ाइल मौजूद नहीं है, तो उसे बनाएं.
  2. फ़ाइल में यह प्रॉपर्टी जोड़ें:
    conf_system_jsse.enableSNIExtension=true
  3. मैसेज प्रोसेसर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. बाकी बचे सभी मैसेज प्रोसेसर पर यही तरीका दोहराएं.