Edge Message Processor ve arka uç sunucu arasında SNI yapılandırma

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Sunucu Adı Göstergesi (SNI), birden çok HTTPS arka uç sunucusunun aynı Söz konusu arka uç sunucularının aynı TLS sertifikasını kullanmasına gerek kalmadan IP adresi ve bağlantı noktası. TLS protokolünün bir uzantısıdır. Bir istemcide SNI etkinleştirildiğinde istemci ilk TLS el sıkışmasının parçası olarak arka uç sunucusunun ana makine adıdır. Bu, TLS sunucusundan gelen isteği doğrulamak için hangi TLS sertifikasının kullanılması gerektiğini gerekir.

Varsayılan olarak SNI, Private Cloud için Edge'deki İleti İşlemci bileşeninde devre dışıdır mevcut arka uç sunucularıyla geriye dönük uyumluluk sağlamak için kullanılır. Arka uç sunucunuz yapılandırdıysanız Mesaj İşleyici bileşeninde SNI'yi etkinleştirmeniz gerekir. Aksi takdirde, Apigee Edge'den gelen API istekleri TLS El Sıkışma Hataları.

Bu dokümanda, aşağıdakileri nasıl yapacağınız açıklanmaktadır:

Başlamadan önce

SNI'nin etkin olduğu sunucunun kimliği

Bu bölümde, bir arka uç sunucusunda SNI etkin olup olmadığının nasıl tanımlanacağı açıklanmaktadır.

  1. openssl komutunu yürütün ve ilgili sunucu ana makine adına bağlanmayı deneyin (Uç Yönlendirici veya arka uç sunucusu) aşağıdaki gibi sunucu adını iletmeden:
    openssl s_client -connect hostname:port
    
  2. Sertifikaları alabilirsiniz ve bazen openssl komutu aşağıda gösterildiği gibi):
    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 komutunu yürütün ve ilgili sunucuya bağlanmayı deneyin. aşağıda gösterildiği gibi sunucu adını ileterek ana makine adını (Uç yönlendirici veya arka uç sunucusu) ekleyebilirsiniz:
    openssl s_client -connect hostname:port -servername hostname
    
  4. 1. adımda el sıkışma hatası veya 1. ve 2. adımda farklı sertifikalar alırsanız belirtilen sunucuda SNI'nin etkin olduğunu belirtir.
  5. Bunu birden fazla arka uç sunucusu için doğrulamak istiyorsanız yukarıdaki adımları her arka uç sunucusu için tekrarlayın.

SNI'nin etkin olduğu bir veya daha fazla arka uç sunucunuz olduğunu tespit ederseniz şunları yapmanız gerekir: Mesaj İşleyici bileşeninde SNI'yi aşağıda açıklandığı şekilde etkinleştirin. Aksi halde, API Apigee Edge üzerinden yapılan istekler başarısız olur TLS El Sıkışma Hataları.

Uç Mesaj İşleyicileri ile arka uç sunucusu arasında SNI'yi etkinleştir

Bu bölümde, Edge Mesaj İşlemci ile arka uç arasında SNI'nin nasıl etkinleştirileceği açıklanmaktadır sunucu. SNI, şurada jsse.enableSNIExtension mülkü aracılığıyla etkinleştirilebilir: bölümünde de mevcut. Mesaj İşleyici'de herhangi bir özelliği yapılandırmak için aşağıdaki söz dizimine uygun şekilde jetonu Edge'yi yapılandırma.

Mesaj İşleyicilerde SNI'yi etkinleştirmek için aşağıdaki adımları uygulayın:

  1. jsse.enableSNIExtension mülkü için jetonu bulun
  2. Mesaj İşleyici'de SNI'yi etkinleştirme

jsse.enableSNIExtension mülkü için jetonu bulun

Aşağıdaki adımlarda jsse.enableSNIExtension mülk:

  1. İleti İşleyen kaynağında jsse.enableSNIExtension özelliğini arayın aşağıdaki komutu kullanarak /opt/apigee/edge-message-processor/source dizinine ekleyin:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
    
  2. Bu komutun çıkışı, İleti İşleyen'in özelliğinin jetonunu gösterir jsse.enableSNIExtension şöyle:
    /opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
    

    {T}{/T} etiketleri arasındaki dize, İleti İşleyen'in .properties dosyasında ayarlayabilirsiniz.

    Bu nedenle, jsse.enableSNIExtension mülkünün jetonu aşağıdaki gibidir:

    conf_system_jsse.enableSNIExtension
    

Mesaj İşleyici'de SNI'yi etkinleştirme

Aşağıdaki adımlarda, Apigee Mesaj İşlemci bileşeninde SNI'nin nasıl etkinleştirileceği açıklanmaktadır.

  1. İleti İşleyici makinesinde, aşağıdaki dosyayı bir düzenleyicide açın. Eşleşmezse bir liste oluşturabilirsiniz.
    /opt/apigee/customer/application/message-processor.properties
    

    Örneğin, dosyayı vi, aşağıdaki komutu girin:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Özellikler dosyasına aşağıdaki biçimde bir satır ekleyin:
    conf_system_jsse.enableSNIExtension=true
    
  3. Değişikliklerinizi kaydedin.
  4. Bu özellikler dosyasının, aşağıda gösterildiği gibi apigee kullanıcısına ait olduğundan emin olun:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mesaj İşleyici'yi aşağıda gösterildiği gibi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. SNI yapılandırmasının şurada güncellendiğini doğrulayın: Mesaj İşleyici.
  7. Birden fazla Mesaj İşleyiciniz varsa yukarıdaki adımları tüm ileti dizilerinde Mesaj İşleyiciler.

Uç mesaj işlemcileri ile arka uç sunucusu arasında SNI'yi devre dışı bırak

Genellikle SNI'yı etkinleştirdikten sonra herhangi bir sorun yaşamazsınız. Ancak, sonrasında, Edge İleti İşlemcisi ile arka uç sunucusu arasındaki SNI'yı etkinleştirdiğinizde aşağıdaki adımları uygulayarak SNI'yi istediğiniz zaman devre dışı bırakabilirsiniz.

SNI, jsse.enableSNIExtension özelliği ayarlanarak devre dışı bırakılabilir Mesaj İşleyici bileşeninde false adresine geri dönün.

Mesaj İşleyicilerde SNI'yi devre dışı bırak

Aşağıdaki adımlarda, Apigee Mesaj İşlemcilerinde SNI'nin nasıl devre dışı bırakılacağı açıklanmaktadır.

  1. İleti İşleyici makinesinde, aşağıdaki dosyayı bir düzenleyicide açın. Eşleşmezse bir liste oluşturabilirsiniz.
    /opt/apigee/customer/application/message-processor.properties
    

    Örneğin, dosyayı vi, aşağıdaki komutu girin:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. conf_system_jsse.enableSNIExtension=true satırı /opt/apigee/customer/application/message-processor.properties, ardından şu şekilde değiştirin: şöyle olur:
    conf_system_jsse.enableSNIExtension=false
    
  3. Değişikliklerinizi kaydedin.
  4. Bu özellikler dosyasının, aşağıda gösterildiği gibi apigee kullanıcısına ait olduğundan emin olun:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mesaj İşleyici'yi aşağıda gösterildiği gibi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. SNI yapılandırmasının şurada güncellendiğini doğrulayın: Mesaj İşleyici.
  7. Birden fazla Mesaj İşleyiciniz varsa yukarıdaki adımları tüm Mesaj İşleyiciler.

Mesaj İşleyicilerinde SNI Yapılandırmasını Doğrulama

Bu bölümde, SNI yapılandırmasının başarıyla tamamlandığının nasıl doğrulanacağı açıklanmaktadır. güncellenmelidir.

conf_system_jsse.enableSNIExtension jetonunu şu amaçlarla kullansanız bile: Mesaj İşleyici'de SNI'yi yapılandırmak isterseniz gerçek mülkün jsse.enableSNIExtension yeni değerle ayarlandı.

  1. İleti İşleyici makinesinde jsse.enableSNIExtension özelliğini arayın. /opt/apigee/edge-message-processor/conf dizininde mevcut olup olmadığını kontrol edin. aşağıdaki gibi yeni değerle ayarlandı:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
    
  2. SNI yapılandırması Mesaj İşleyici'de başarıyla güncellenirse komutu, system.properties dosyasındaki yeni değeri gösterir.

    Mesaj İşleyici'de SNI'yi etkinleştirdikten sonra yukarıdaki komuttan alınan örnek sonuç şu şekildedir:

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

    Benzer şekilde, Mesaj İşleyici aşağıdaki gibidir:

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

    Yukarıdaki örnek çıkışta, jsse.enableSNIExtension özelliğine dikkat edin. şurada yeni true veya false değerine güncellendi: system.properties. Bu, SNI'nin başarıyla etkinleştirildiğini veya seçeneğini tıklayın.

  3. Hâlâ jsse.enableSNIExtension özelliğinin eski değerini görüyorsanız etkinleştirmek için ilgili bölümde sıralanan tüm adımları izlediğinizi doğrulayın: veya SNI'yi doğru şekilde devre dışı bırakın. Atladığınız herhangi bir adım varsa tüm adımları doğru şekilde tekrar edin.
  4. SNI'yi yine de etkinleştiremiyor/devre dışı bırakamıyorsanız Apigee Edge Desteği.