Edge से लेकर बैकएंड (क्लाउड और निजी क्लाउड) तक TLS कॉन्फ़िगर करना

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

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

TargetEndpoint, ProxyEndpoint के आउटबाउंड के बराबर है. TargetEndpoint फ़ंक्शन एज से लेकर बैकएंड सेवा में, एचटीटीपी क्लाइंट के तौर पर शामिल होते हैं. एपीआई प्रॉक्सी बनाते समय, शून्य या उससे ज़्यादा TargetEndpoints का इस्तेमाल करना है.

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

TargetEndpoint कॉन्फ़िगर करना या TargetServer

TargetEndpoint को कॉन्फ़िगर करने के लिए, TargetEndpoint के बारे में बताने वाले एक्सएमएल ऑब्जेक्ट में बदलाव करें. आप आपकी एपीआई प्रॉक्सी का इस्तेमाल करें या Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) में जाकर इसमें बदलाव करें.

TargetEndpoint में बदलाव करने के लिए, एज मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करना:

  1. https://enterprise.apigee.com पर जाकर, Edge मैनेजमेंट के यूज़र इंटरफ़ेस (यूआई) में लॉगिन करें.
  2. अपडेट करने के लिए एपीआई प्रॉक्सी का नाम चुनें.
  3. डेवलप करें टैब चुनें.
  4. टारगेट एंडपॉइंट में जाकर, डिफ़ॉल्ट चुनें.
  5. कोड एरिया में TargetEndpoint की परिभाषा नीचे दिखती है:
    <TargetEndpoint name="default">
      <Description/>
      <FaultRules/>
      <Flows/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <HTTPTargetConnection>
        <Properties/>
        <SSLInfo>
          <Enabled>true</Enabled>
          <TrustStore>ref://myTrustStoreRef</TrustStore>
        </SSLInfo>
        <URL>https://mocktarget.apigee.net</URL>
      </HTTPTargetConnection>
    </TargetEndpoint>
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
  6. ट्रस्टस्टोर को नीचे बताए गए तरीके से कॉन्फ़िगर करें बैकएंड के साथ TLS कॉन्फ़िगरेशन के बारे में जानकारी.
  7. कोई भी बदलाव करें और प्रॉक्सी सेव करें. अगर एपीआई प्रॉक्सी को डिप्लॉय किया गया है, तो उसे सेव करना नई सेटिंग की मदद से इसे फिर से डिप्लॉय करता है.

ध्यान दें कि TargetEndpoint की परिभाषा में एक name प्रॉपर्टी शामिल है. आप इसके मान का उपयोग करते हैं name प्रॉपर्टी का इस्तेमाल करने के लिए किसी API प्रॉक्सी की ProxyEndpoint परिभाषा को कॉन्फ़िगर करने के लिए TargetEndpoint. ज़्यादा जानकारी के लिए, एपीआई प्रॉक्सी कॉन्फ़िगरेशन से जुड़ा रेफ़रंस देखें.

TargetEndpoints को साफ़ तौर पर टारगेट किए गए सर्वर के बजाय, टारगेट यूआरएल. TargetServer कॉन्फ़िगरेशन, एंडपॉइंट यूआरएल को इन चिप से अलग कर देता है TargetEndpoint कॉन्फ़िगरेशन. TargetServers का इस्तेमाल, लोड बैलेंसिंग और फ़ेलओवर को मैनेज करने के लिए किया जाता है कई बैकएंड सर्वर इंस्टेंस में भी मौजूद है.

TargetServer की परिभाषा का एक उदाहरण नीचे दिया गया है:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>80</Port>
  <IsEnabled>true</IsEnabled>
</TargetServer> 

TargetServer के नाम का रेफ़रंस, <HTTPTargetConnection> में दिया गया है TargetEndpoint की परिभाषा में शामिल एलिमेंट होना चाहिए. आपके पास TargetServers नाम के एक या उससे ज़्यादा विकल्प कॉन्फ़िगर करने का विकल्प है. इनके बारे में नीचे बताया गया है.

<TargetEndpoint name="default">
  ...
  <HTTPTargetConnection>
    <LoadBalancer>
      <Server name="target1" />
      <Server name="target2" />
    </LoadBalancer>
    <Path>/test</Path>
  </HTTPTargetConnection>
  ...
</TargetEndpoint>

लोड बैलेंसिंग की जानकारी देखें पर ज़्यादा जानकारी के लिए,

बैकएंड के साथ TLS कॉन्फ़िगरेशन के बारे में जानकारी

बैकएंड में TLS का ऐक्सेस कॉन्फ़िगर करने से पहले, आपको दो ज़रूरी बातें समझनी चाहिए अंक:

  1. डिफ़ॉल्ट रूप से, Edge बैकएंड सर्टिफ़िकेट की पुष्टि नहीं करता है. कॉन्फ़िगर करने के लिए आपको एक ट्रस्टस्टोर बनाना होगा सर्टिफ़िकेट की पुष्टि करने के लिए एजुकेटर.
  2. Edge में इस्तेमाल होने वाले कीस्टोर या ट्रस्टस्टोर के बारे में बताने के लिए, रेफ़रंस का इस्तेमाल करें.

इन दोनों बातों के बारे में नीचे बताया गया है.

सर्टिफ़िकेट की पुष्टि करने की सुविधा चालू करने के लिए ट्रस्टस्टोर तय करना

TargetEndpoint या TargetServer से TLS का अनुरोध करते समय, Edge ये काम नहीं करता डिफ़ॉल्ट रूप से, बैकएंड सर्वर से मिले TLS सर्टिफ़िकेट की पुष्टि करता है. इसका मतलब है कि Edge इसकी पुष्टि नहीं करता है:

  • इस सर्टिफ़िकेट पर किसी भरोसेमंद सीए ने हस्ताक्षर किया है.
  • सर्टिफ़िकेट की समयसीमा खत्म न हुई हो.
  • सर्टिफ़िकेट एक सामान्य नाम होता है. अगर कोई सामान्य नाम मौजूद है, तो Edge पुष्टि नहीं करता है कि सामान्य नाम URL में दर्ज होस्टनाम से मेल खाता है.

Edge को कॉन्फ़िगर करके बैकएंड सर्टिफ़िकेट की पुष्टि करने के लिए, आपको ये काम करने होंगे:

  1. Edge पर एक ट्रस्टस्टोर बनाएं.
  2. ट्रस्टस्टोर में सर्वर का सर्टिफ़िकेट या सर्टिफ़िकेट चेन अपलोड करें. अगर सर्वर सर्टिफ़िकेट पर किसी तीसरे पक्ष ने हस्ताक्षर किए हैं, तो आपको ट्रस्टस्टोर को भेजे जाने वाले रूट सीए सर्टिफ़िकेट के साथ-साथ सर्टिफ़िकेट की पूरी चेन. कोई भी स्पष्ट रूप से विश्वसनीय CA नहीं होता है.
  3. TargetEndpoint या TargetServer की परिभाषा में ट्रस्टस्टोर जोड़ें.

ज़्यादा जानकारी के लिए कीस्टोर और ट्रस्टस्टोर देखें.

उदाहरण के लिए:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
      <TrustStore>ref://myTrustStoreRef</TrustStore>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

पहचान फ़ाइल का इस्तेमाल करना कीस्टोर या ट्रस्टस्टोर

नीचे दिए गए उदाहरण में TargetEndpoint या TargetServer को कॉन्फ़िगर करने का तरीका TLS के साथ काम करता है. TLS को कॉन्फ़िगर करने के हिस्से के तौर पर, आपको Truststore और कीस्टोर को TargetEndpoint या TargetServer की परिभाषा.

Apigee का सुझाव है कि आप कीस्टोर के रेफ़रंस का इस्तेमाल करें और TargetEndpoints या TargetServer की परिभाषा में ट्रस्टस्टोर. रेफ़रंस फ़ाइल का इस्तेमाल करने के फ़ायदे यह है कि आपको संदर्भ को केवल किसी दूसरे कीस्टोर या ट्रस्टस्टोर पर पॉइंट करके अपडेट करना होगा, TLS प्रमाणपत्र को अपडेट करना चाहिए.

इसमें कीस्टोर और ट्रस्टस्टोर के संदर्भ TargetEndpoints या TargetServer की परिभाषा, उसी तरह काम करती हैं जैसे वे करती हैं वर्चुअल होस्ट के लिए.

रेफ़रंस का इस्तेमाल करने के लिए TargetEndpoint या TargetServer को बदलना

ऐसा हो सकता है कि आपके पास पहले से तय TargetEndpoint या TargetServer की परिभाषाएं हों कीस्टोर और ट्रस्टस्टोर के लिटरल नाम का इस्तेमाल करता है. TargetEndpoint को बदलना या TargetServer की परिभाषा के हिसाब से रेफ़रंस का इस्तेमाल करें:

  1. रेफ़रंस का इस्तेमाल करने के लिए, TargetEndpoint या TargetServer की परिभाषा अपडेट करें.
  2. Edge मैसेज प्रोसेसर को रीस्टार्ट करें:
    • Public Cloud ग्राहकों के लिए, मैसेज प्रोसेसर को रीस्टार्ट करने के लिए, Apigee Edge की सहायता टीम से संपर्क करें.
    • प्राइवेट क्लाउड के ग्राहकों के लिए, Edge मैसेज प्रोसेसर को रीस्टार्ट करें एक समय में.
  3. पुष्टि करें कि आपका TargetEndpoint या TargetServer API ठीक से काम कर रहा है.

बैकएंड में एकतरफ़ा TLS कॉन्फ़िगर करना सर्वर

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

आपको सिर्फ़ यह पक्का करना होगा कि फ़ाइल में <URL> एलिमेंट TargetEndpoint की परिभाषा में, एचटीटीपीएस प्रोटोकॉल से बैकएंड सेवा का रेफ़रंस दिया गया है TLS चालू करें:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

अगर बैकएंड सेवा तय करने के लिए, TargetServer का इस्तेमाल किया जा रहा है, तो TLS चालू करें TargetServer की परिभाषा में:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
    <Enabled>true</Enabled>
  </SSLInfo> 
</TargetServer> 
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

हालांकि, अगर आपको Edge से बैकएंड सर्टिफ़िकेट की पुष्टि करानी है, तो आपको एक Truststore बनाना होगा जिसमें बैकएंड सर्टिफ़िकेट या सर्टिफ़िकेट चेन शामिल है. इसके बाद, आपको इसमें Truststore TargetEndpoint की परिभाषा:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
      <TrustStore>ref://myTrustStoreRef</TrustStore>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

या TargetServer की परिभाषा में:

<TargetServer name="target1">
  <Host>mockserver.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
    <Enabled>true</Enabled>
    <TrustStore>ref://myTrustStoreRef</TrustStore>
  </SSLInfo> 
</TargetServer>

एकतरफ़ा TLS कॉन्फ़िगर करने के लिए:

  1. अगर आपको बैकएंड सर्टिफ़िकेट की पुष्टि करनी है, तो Edge पर ट्रस्टस्टोर बनाएं और फ़ाइल अपलोड करें जैसा कि कीस्टोर और Truststores. उदाहरण के लिए, अगर आपको एक ट्रस्टस्टोर बनाना है, तो इसे नाम दें myTrustStore.
  2. अगर आपने एक Truststore बनाया है, तो नीचे दिए गए POST API कॉल का इस्तेमाल करके आपके बनाए गए Truststore का myTrustStoreRef नाम का रेफ़रंस ऊपर:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
      -d '<ResourceReference name="myTrustStoreRef">
        <Refers>myTrustKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
      </ResourceReference>' -u email:password
    
  3. Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, एपीआई प्रॉक्सी के लिए TargetEndpoint की परिभाषा अपडेट करें (या, अगर आप एक्सएमएल में एपीआई प्रॉक्सी तय करते हैं, तो प्रॉक्सी की एक्सएमएल फ़ाइलों में बदलाव करें):
    1. https://enterprise.apigee.com पर जाकर, Edge मैनेजमेंट के यूज़र इंटरफ़ेस (यूआई) में लॉग इन करें.
    2. Edge मैनेजमेंट के यूज़र इंटरफ़ेस (यूआई) मेन्यू में, एपीआई चुनें.
    3. अपडेट करने के लिए एपीआई प्रॉक्सी का नाम चुनें.
    4. डेवलपमेंट टैब चुनें.
    5. टारगेट एंडपॉइंट में जाकर, डिफ़ॉल्ट चुनें.
    6. कोड एरिया में जाकर, <HTTPTargetConnection> एलिमेंट में बदलाव करें <SSLInfo> एलिमेंट जोड़ें. पक्का करें कि आपने सही Truststore संदर्भ बताया है और <Enabled> को 'सही है' पर सेट किया है:
      <TargetEndpoint name="default">
        …
        <HTTPTargetConnection>
          <SSLInfo>
            <Enabled>true</Enabled>
            <TrustStore>ref://myTrustStoreRef</TrustStore>
          </SSLInfo>
          <URL>https://myservice.com</URL>
        </HTTPTargetConnection>
        …
      </TargetEndpoint>
    7. एपीआई प्रॉक्सी को सेव करें. अगर एपीआई प्रॉक्सी को डिप्लॉय किया गया है, तो उसे सेव करने पर, वह नई सेटिंग.

बैकएंड में दो-तरफ़ा TLS कॉन्फ़िगर करना सर्वर

अगर आपको Edge (TLS क्लाइंट) और बैकएंड सर्वर (TLS) के बीच दो-तरफ़ा TLS काम करना है, तो सर्वर) से:

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

कीस्टोर प्रमाणपत्र बताने के लिए कुंजी अन्य नाम का इस्तेमाल करना

आप एक ही कीस्टोर में, प्रत्येक के अपने उपनाम के साथ, एकाधिक प्रमाणपत्र परिभाषित कर सकते हैं. डिफ़ॉल्ट रूप से, Edge कीस्टोर में तय किए गए पहले सर्टिफ़िकेट का इस्तेमाल करता है.

इसके अलावा, आपके पास <KeyAlias> प्रॉपर्टी से मिले सर्टिफ़िकेट का इस्तेमाल करने के लिए Edge कॉन्फ़िगर करने का विकल्प भी है. इससे आप कई सर्टिफ़िकेट के लिए एक कीस्टोर तय कर सकते हैं और वह कीवर्ड चुनें जिसे TargetServer की परिभाषा में इस्तेमाल करना है. अगर Edge को किसी उपनाम वाला सर्टिफ़िकेट नहीं मिलता है जो <KeyAlias> से मेल खाता है, तो यह कीस्टोर में पहला सर्टिफ़िकेट मिला.

Edge का इस्तेमाल करने वाले सार्वजनिक Cloud के उपयोगकर्ताओं को इस सुविधा को चालू करने के लिए, Apigee Edge की सहायता टीम से संपर्क करना होगा.

दो-तरफ़ा TLS कॉन्फ़िगर करना

दो-तरफ़ा TLS कॉन्फ़िगर करने के लिए:

  1. Edge पर कीस्टोर बनाएं. इसके बाद, दिए गए तरीके का इस्तेमाल करके सर्टिफ़िकेट और निजी पासकोड अपलोड करें यहां बताया गया है: कीस्टोर और ट्रस्टस्टोर. इस उदाहरण के लिए, myTestKeystore नाम का एक कीस्टोर बनाएं प्रमाणपत्र और निजी कुंजी के लिए myKey का उपनाम नाम.
  2. रेफ़रंस बनाने के लिए, नीचे दिए गए POST API कॉल का इस्तेमाल करें आपने ऊपर बनाए गए कीस्टोर में myKeyStoreRef का नाम दिया है:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
    -d '<ResourceReference name="myKeyStoreRef">
        <Refers>myTestKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
    </ResourceReference>' -u email:password
    

    रेफ़रंस, कीस्टोर का नाम और रेफ़रंस टाइप KeyStore के तौर पर बताता है.

    रेफ़रंस फ़ाइल देखने के लिए, इस जीईटी एपीआई कॉल का इस्तेमाल करें:

    curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/myKeyStoreRef /
    -u email:password
    
  3. अगर आपको बैकएंड सर्टिफ़िकेट की पुष्टि करनी है, तो Edge पर ट्रस्टस्टोर बनाएं. इसके बाद, सर्टिफ़िकेट और CA को अपलोड करें चेन, जैसा कि यहां बताया गया है: कीस्टोर और ट्रस्टस्टोर. उदाहरण के लिए, अगर आपको एक Truststore नाम बनाना है, तो इसे myTrustStore नाम दें.
  4. अगर आपने एक Truststore बनाया है, तो नीचे दिए गए POST API कॉल का इस्तेमाल करके आपके बनाए गए Truststore का myTrustStoreRef नाम का रेफ़रंस ऊपर:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
    -d '<ResourceReference name="myTrustStoreRef">
        <Refers>myTrustKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
    </ResourceReference>' -u email:password
    
  5. Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, एपीआई प्रॉक्सी के लिए TargetEndpoint की परिभाषा अपडेट करें (या, अगर आप एक्सएमएल में एपीआई प्रॉक्सी तय करते हैं, तो प्रॉक्सी की एक्सएमएल फ़ाइलों में बदलाव करें):
    1. https://enterprise.apigee.com पर जाकर, Edge मैनेजमेंट के यूज़र इंटरफ़ेस (यूआई) में लॉगिन करें.
    2. Edge मैनेजमेंट के यूज़र इंटरफ़ेस (यूआई) मेन्यू में, एपीआई चुनें.
    3. अपडेट करने के लिए एपीआई प्रॉक्सी का नाम चुनें.
    4. डेवलपमेंट टैब चुनें.
    5. टारगेट एंडपॉइंट में जाकर, डिफ़ॉल्ट चुनें.
    6. कोड एरिया में जाकर, <HTTPTargetConnection> एलिमेंट में बदलाव करें <SSLInfo> जोड़ें एलिमेंट. पक्का करें कि आपने सही कीस्टोर और कुंजी अन्य नाम तय किया हो. इसके अलावा, <Enabled> और <ClientAuthEnabled> एलिमेंट 'सही' पर सेट हैं:
      <TargetEndpoint name="default">
        ...
        <HTTPTargetConnection>
          <SSLInfo>
            <Enabled>true</Enabled>
            <ClientAuthEnabled>true</ClientAuthEnabled>
            <KeyStore>ref://myKeyStoreRef</KeyStore>
            <KeyAlias>myKey</KeyAlias>
          </SSLInfo>
          <URL>https://myservice.com</URL>
        </HTTPTargetConnection>
        ...
      </TargetEndpoint>
    7. एपीआई प्रॉक्सी को सेव करें. अगर एपीआई प्रॉक्सी को डिप्लॉय किया गया है, तो उसे सेव करने पर, वह नई सेटिंग.

वैरिएबल का इस्तेमाल करने के साथ-साथ, <TargetEndpoint> में उपलब्ध विकल्पों के बारे में ज़्यादा जानकारी पाने के लिए TargetEndpoint <SSLInfo> की वैल्यू सप्लाई करने के लिए, एपीआई प्रॉक्सी कॉन्फ़िगरेशन का रेफ़रंस देखें.

SNI सक्षम करना

Edge, टारगेट करने के लिए, मैसेज प्रोसेसर से सर्वर नेम इंडीकेशन (SNI) के इस्तेमाल के साथ काम करता है Cloud के लिए Apigee Edge और प्राइवेट क्लाउड डिप्लॉयमेंट के लिए एंडपॉइंट.

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