Edge मैसेज प्रोसेसर और बैकएंड सर्वर के बीच, SNI को कॉन्फ़िगर किया जा रहा है

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

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

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

इस दस्तावेज़ में नीचे दिए गए काम करने का तरीका बताया गया है:

शुरू करने से पहले

SNI सक्षम सर्वर की पहचान

इस सेक्शन में यह पता लगाने का तरीका बताया गया है कि बैकएंड सर्वर SNI चालू है या नहीं.

  1. openssl कमांड लागू करें और सर्वर का नाम पास किए बिना काम के सर्वर होस्टनेम (Edge राऊटर या बैकएंड सर्वर) से कनेक्ट करने की कोशिश करें, जैसा कि यहां दिखाया गया है:
    openssl s_client -connect hostname:port
    
  2. आपको सर्टिफ़िकेट मिल सकते हैं और कभी-कभी आपको openssl कमांड में हैंडशेक काम न करने वाला मैसेज दिख सकता है, जैसा कि यहां दिखाया गया है:
    CONNECTED(00000003) 9362:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.6/src/ssl/s23_clnt.c:593
    
  3. openssl कमांड लागू करें. इसके बाद, यहां बताए गए सर्वर का नाम पास करके, काम के सर्वर होस्टनेम (Edge राऊटर या बैकएंड सर्वर) से कनेक्ट करने की कोशिश करें:
    openssl s_client -connect hostname:port -servername hostname
    
  4. अगर पहले चरण में हैंडशेक काम नहीं करता या पहले और दूसरे चरण में अलग-अलग सर्टिफ़िकेट मिलते हैं, तो इसका मतलब है कि बताए गए सर्वर में SNI चालू है.
  5. अगर आपको एक से ज़्यादा बैकएंड सर्वर के लिए इसकी पुष्टि करनी है, तो आपको हर बैकएंड सर्वर के लिए ऊपर दिए गए चरणों को दोहराना होगा.

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

Edge Message प्रोसेसर और बैकएंड सर्वर के बीच SNI चालू करें

इस सेक्शन में बताया गया है कि Edge Message प्रोसेसर और बैकएंड सर्वर के बीच SNI कैसे चालू करें. SNI को Message प्रोसेसर कॉम्पोनेंट पर jsse.enableSNIExtension प्रॉपर्टी के ज़रिए चालू किया जा सकता है. Message प्रोसेसर पर किसी भी प्रॉपर्टी को कॉन्फ़िगर करने के लिए, Edge को कॉन्फ़िगर करने का तरीका में दिए गए सिंटैक्स के मुताबिक टोकन का इस्तेमाल करें.

मैसेज प्रोसेसर पर SNI चालू करने के लिए, नीचे दिया गया तरीका अपनाएं:

  1. jsse.enableSNIExtension प्रॉपर्टी के टोकन का पता लगाएं
  2. मैसेज प्रोसेसर पर SNI चालू करना

jsse.enableSNIExtension प्रॉपर्टी के लिए टोकन खोजें

jsse.enableSNIExtension प्रॉपर्टी के लिए टोकन ढूंढने का तरीका यहां बताया गया है:

  1. नीचे दिए गए निर्देश का इस्तेमाल करके, Message प्रोसेसर की सोर्स डायरेक्ट्री /opt/apigee/edge-message-processor/source में jsse.enableSNIExtension प्रॉपर्टी खोजें:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
    
  2. इस निर्देश का आउटपुट, Message प्रोसेसर की प्रॉपर्टी jsse.enableSNIExtension के लिए टोकन को इस तरह दिखाता है:
    /opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
    

    जहां {T}{/T} टैग के बीच की स्ट्रिंग उस टोकन का नाम होती है जिसे Message प्रोसेसर की .properties फ़ाइल में सेट किया जा सकता है.

    इसलिए, jsse.enableSNIExtension प्रॉपर्टी का टोकन इस तरह है:

    conf_system_jsse.enableSNIExtension
    

मैसेज प्रोसेसर पर SNI चालू करें

नीचे दिए गए चरणों में Apigee Message प्रोसेसर कॉम्पोनेंट पर SNI चालू करने का तरीका बताया गया है.

  1. Message प्रोसेसर मशीन पर, इस फ़ाइल को किसी एडिटर में खोलें. अगर यह पहले से मौजूद नहीं है, तो इसे बनाएं.
    /opt/apigee/customer/application/message-processor.properties
    

    उदाहरण के लिए, vi का इस्तेमाल करके फ़ाइल खोलने के लिए, यह निर्देश डालें:

    vi /opt/apigee/customer/application/message-processor.properties
    

  2. प्रॉपर्टी फ़ाइल में, इस फ़ॉर्मैट में कोई लाइन जोड़ें:
    conf_system_jsse.enableSNIExtension=true
    
  3. बदलावों को सेव करें.
  4. पक्का करें कि इस प्रॉपर्टी फ़ाइल का मालिकाना हक, apigee उपयोगकर्ता के पास हो, जैसा कि यहां दिखाया गया है:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. नीचे दिखाए गए तरीके के मुताबिक, मैसेज प्रोसेसर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. पुष्टि करें कि SNI कॉन्फ़िगरेशन, Message प्रोसेसर पर अपडेट किया गया है.
  7. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो ऊपर दिया गया तरीका सभी मैसेज प्रोसेसर पर दोहराएं.

Edge Message प्रोसेसर और बैकएंड सर्वर के बीच SNI बंद करें

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

मैसेज प्रोसेसर कॉम्पोनेंट में, jsse.enableSNIExtension प्रॉपर्टी को वापस false पर सेट करके, SNI को बंद किया जा सकता है.

मैसेज प्रोसेसर पर SNI बंद करें

नीचे दिए गए चरणों में, Apigee Message प्रोसेसर पर SNI को बंद करने के तरीके के बारे में बताया गया है.

  1. Message प्रोसेसर मशीन पर, इस फ़ाइल को किसी एडिटर में खोलें. अगर यह पहले से मौजूद नहीं है, तो इसे बनाएं.
    /opt/apigee/customer/application/message-processor.properties
    

    उदाहरण के लिए, vi का इस्तेमाल करके फ़ाइल खोलने के लिए, यह निर्देश डालें:

    vi /opt/apigee/customer/application/message-processor.properties
    

  2. अगर लाइन conf_system_jsse.enableSNIExtension=true /opt/apigee/customer/application/message-processor.properties में मौजूद है, तो उसे इस तरह बदलें:
    conf_system_jsse.enableSNIExtension=false
    
  3. बदलावों को सेव करें.
  4. पक्का करें कि इस प्रॉपर्टी फ़ाइल का मालिकाना हक, apigee उपयोगकर्ता के पास हो, जैसा कि यहां दिखाया गया है:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. नीचे दिखाए गए तरीके के मुताबिक, मैसेज प्रोसेसर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. पुष्टि करें कि SNI कॉन्फ़िगरेशन, Message प्रोसेसर पर अपडेट किया गया है.
  7. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो सभी मैसेज प्रोसेसर पर ऊपर दिया गया तरीका दोहराएं.

मैसेज प्रोसेसर पर SNI कॉन्फ़िगरेशन की पुष्टि करना

इस सेक्शन में, मैसेज प्रोसेसर पर SNI कॉन्फ़िगरेशन अपडेट होने की पुष्टि करने का तरीका बताया गया है.

भले ही, आपने मैसेज प्रोसेसर पर SNI को कॉन्फ़िगर करने के लिए conf_system_jsse.enableSNIExtension टोकन का इस्तेमाल किया हो, लेकिन आपको पुष्टि करनी होगी कि असल प्रॉपर्टी jsse.enableSNIExtension को नई वैल्यू के साथ सेट किया गया है.

  1. Message प्रोसेसर मशीन पर, /opt/apigee/edge-message-processor/conf डायरेक्ट्री में jsse.enableSNIExtension प्रॉपर्टी खोजें और देखें कि क्या उसे यहां दिखाई गई नई वैल्यू के साथ सेट किया गया है या नहीं:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
    
  2. अगर SNI कॉन्फ़िगरेशन, Message प्रोसेसर पर सही तरीके से अपडेट हो जाता है, तो ऊपर दिया गया निर्देश, system.properties फ़ाइल में नई वैल्यू दिखाता है.

    मैसेज प्रोसेसर पर SNI चालू करने के बाद, ऊपर दिए गए कमांड से मिला सैंपल नतीजा इस तरह है:

    /opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
    

    इसी तरह, मैसेज प्रोसेसर पर SNI बंद करने के बाद, ऊपर दिए गए निर्देश से सैंपल नतीजा इस तरह मिलता है:

    /opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
    

    ऊपर दिए गए उदाहरण के आउटपुट में, ध्यान दें कि प्रॉपर्टी jsse.enableSNIExtension को system.properties में, नई वैल्यू true या false पर अपडेट किया गया है. इससे पता चलता है कि मैसेज प्रोसेसर पर SNI, चालू या बंद हो गया है.

  3. अगर आपको अब भी jsse.enableSNIExtension प्रॉपर्टी की पुरानी वैल्यू दिखती है, तो पुष्टि करें कि आपने SNI को सही तरीके से चालू या बंद करने के लिए, सही सेक्शन में दिए गए सभी निर्देशों का पालन किया हो. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर अब भी SNI चालू/बंद नहीं हो पा रहा है , तो Apigee Edge सहायता से संपर्क करें.