Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Sunucu Adı Göstergesi (SNI), birden fazla HTTPS arka uç sunucusunun aynı IP adresi ve bağlantı noktası üzerinden sunulmasına olanak tanır. Bu arka uç sunucularının aynı TLS sertifikasını kullanması gerekmez. Bu, TLS protokolünün bir uzantısıdır. SNI bir istemcide etkinleştirildiğinde istemci, ilk TLS el sıkışmasının bir parçası olarak arka uç sunucusunun ana makine adını iletir. Bu, TLS sunucusunun istemciden gelen isteği doğrulamak için hangi TLS sertifikasının kullanılması gerektiğini belirlemesine olanak tanır.
SNI, mevcut arka uç sunucularla geriye dönük uyumluluğu sağlamak için varsayılan olarak Özel Bulut için Edge'deki Mesaj İşleyici bileşeninde devre dışıdır. Arka uç sunucunuz SNI'yı destekleyecek şekilde yapılandırılmışsa Mesaj İşleyici bileşeninde SNI'yı etkinleştirmeniz gerekir. Aksi takdirde, Apigee Edge üzerinden geçen API istekleri TLS el sıkışması hataları ile başarısız olur.
Bu belgede aşağıdakilerin nasıl yapılacağı açıklanmaktadır:
- Bir arka uç sunucusunda SNI'nın etkin olup olmadığını belirleme
- SNI'yı destekleyen arka uç sunucularla iletişim kurmak için Message Processor'larda SNI'yı etkinleştirin.
- Gerekirse mesaj işleyicilerde SNI'yı devre dışı bırakın.
- SNI yapılandırmasının Mesaj İşleyiciler'de başarıyla güncellendiğini doğrulayın.
Başlamadan önce
- SNI hakkında bilginiz yoksa Using SNI with edge (SNI'yı Edge ile kullanma) başlıklı makaleyi okuyun.
- Özel bulutta Edge'i yapılandırma konusunda bilginiz yoksa Edge'i yapılandırma başlıklı makaleyi okuyun.
SNI etkin sunucunun tanımlanması
Bu bölümde, bir arka uç sunucusunda SNI'nın etkin olup olmadığını nasıl belirleyeceğiniz açıklanmaktadır.
-
opensslkomutunu çalıştırın ve aşağıda gösterildiği gibi sunucu adını iletmeden ilgili sunucu ana makine adına (Edge Router veya arka uç sunucusu) bağlanmayı deneyin:openssl s_client -connect hostname:port
-
Sertifikaları alabilirsiniz ve bazen aşağıdaki örnekte gösterildiği gibi
opensslkomutunda el sıkışma hatası görebilirsiniz:
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
-
opensslkomutunu çalıştırın ve aşağıdaki örnekte gösterildiği gibi sunucu adını ileterek ilgili sunucu ana makine adına (Edge yönlendirici veya arka uç sunucusu) bağlanmayı deneyin:openssl s_client -connect hostname:port -servername hostname
- 1. adımda el sıkışma hatası alırsanız veya 1. ve 2. adımda farklı sertifikalar alırsanız, belirtilen sunucuda SNI'nın etkin olduğu anlaşılır.
- Bu işlemi birden fazla arka uç sunucusu için doğrulamak istiyorsanız her arka uç sunucusu için yukarıdaki adımları tekrarlamanız gerekir.
SNI'nın etkinleştirildiği bir veya daha fazla arka uç sunucunuz olduğunu fark ederseniz aşağıda açıklandığı gibi Mesaj İşleyici bileşeninde SNI'yı etkinleştirmeniz gerekir. Aksi takdirde, Apigee Edge üzerinden geçen API istekleri TLS el sıkışması hataları ile başarısız olur.
Edge Message Processors ile arka uç sunucusu arasında SNI'yı etkinleştirme
Bu bölümde, Edge Mesaj İşleyici ile arka uç sunucusu arasında SNI'nın nasıl etkinleştirileceği açıklanmaktadır. SNI, Mesaj İşleyici bileşenindeki jsse.enableSNIExtension özelliği üzerinden etkinleştirilebilir. Mesaj İşleyici'deki herhangi bir özelliği yapılandırmak için Edge'i yapılandırma bölümünde açıklanan söz dizimine göre jetonu kullanın.
SNI'yı ileti işlemcilerinde etkinleştirmek için aşağıdaki adımları uygulayın:
jsse.enableSNIExtension mülkü için jetonu bulma
Aşağıdaki adımlarda, jsse.enableSNIExtension mülkünün jetonunun nasıl bulunacağı açıklanmaktadır:
-
Aşağıdaki komutu kullanarak Mesaj İşleyici kaynak dizininde
jsse.enableSNIExtensionözelliğini arayın:/opt/apigee/edge-message-processor/sourcegrep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
Bu komutun çıktısı, Message Processor'ın mülkü için jetonu aşağıdaki gibi gösterir:
jsse.enableSNIExtension/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}{T}{/T}etiketleri arasındaki dize, Message Processor'ın.propertiesdosyasında ayarlayabileceğiniz jetonun adıdır.Bu nedenle,
jsse.enableSNIExtensionözelliği için jeton şu şekildedir:conf_system_jsse.enableSNIExtension
Mesaj işleyicide SNI'yı etkinleştirme
Aşağıdaki adımlarda, Apigee Mesaj İşleyici bileşeninde SNI'nın nasıl etkinleştirileceği açıklanmaktadır.
- Mesaj İşleyici makinesinde aşağıdaki dosyayı bir düzenleyicide açın. Henüz yoksa oluşturun.
/opt/apigee/customer/application/message-processor.properties
Örneğin, dosyayı
vikullanarak açmak için aşağıdaki komutu girin:vi /opt/apigee/customer/application/message-processor.properties
-
Özellikler dosyasına aşağıdaki biçimde bir satır ekleyin:
conf_system_jsse.enableSNIExtension=true
- Değişikliklerinizi kaydedin.
-
Bu özellikler dosyasının, aşağıda gösterildiği gibi
apigeekullanıcısına ait olduğundan emin olun:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
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
- SNI yapılandırmasının Mesaj İşleyici'de güncellendiğini doğrulayın.
- Birden fazla Mesaj İşleyiciniz varsa yukarıdaki adımları tüm Mesaj İşleyicilerde tekrarlayın.
Edge Message Processors ile arka uç sunucusu arasındaki SNI'yı devre dışı bırakma
Genellikle SNI'yı etkinleştirdikten sonra herhangi bir sorunla karşılaşmazsınız. Ancak, SNI'yı etkinleştirdikten sonra Edge Mesaj İşleyici ile arka uç sunucusu arasında bağlantı sorunları yaşarsanız aşağıdaki adımları uygulayarak SNI'yı devre dışı bırakabilirsiniz.
SNI, Mesaj İşleyici bileşeninde jsse.enableSNIExtension özelliğini tekrar false olarak ayarlayarak devre dışı bırakılabilir.
İleti işlemcilerinde SNI'yı devre dışı bırakma
Aşağıdaki adımlarda, Apigee Message Processors'da SNI'nın nasıl devre dışı bırakılacağı açıklanmaktadır.
-
Mesaj İşleyici makinesinde aşağıdaki dosyayı bir düzenleyicide açın. Henüz yoksa oluşturun.
/opt/apigee/customer/application/message-processor.properties
Örneğin, dosyayı
vikullanarak açmak için aşağıdaki komutu girin:vi /opt/apigee/customer/application/message-processor.properties
-
conf_system_jsse.enableSNIExtension=truesatırı/opt/apigee/customer/application/message-processor.propertiesiçinde varsa aşağıdaki gibi değiştirin:conf_system_jsse.enableSNIExtension=false
- Değişikliklerinizi kaydedin.
-
Bu özellikler dosyasının, aşağıda gösterildiği gibi
apigeekullanıcısına ait olduğundan emin olun:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
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
- SNI yapılandırmasının Mesaj İşleyici'de güncellendiğini doğrulayın.
- Birden fazla Mesaj İşleyiciniz varsa yukarıdaki adımları tüm Mesaj İşleyicilerde tekrarlayın.
İleti işlemcilerinde SNI yapılandırmasını doğrulama
Bu bölümde, SNI yapılandırmasının Mesaj İşleyiciler'de başarıyla güncellendiğini nasıl doğrulayacağınız açıklanmaktadır.
İleti işlemcisinde SNI'yı yapılandırmak için conf_system_jsse.enableSNIExtension jetonunu kullansanız da gerçek özelliğin jsse.enableSNIExtension yeni değerle ayarlandığını doğrulamanız gerekir.
-
Mesaj İşleyici makinesinde,
/opt/apigee/edge-message-processor/confdizinindejsse.enableSNIExtensionözelliğini arayın ve aşağıdaki gibi yeni değerle ayarlanıp ayarlanmadığını kontrol edin:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
SNI yapılandırması Mesaj İşleyici'de başarıyla güncellenirse yukarıdaki komut,
system.propertiesdosyasındaki yeni değeri gösterir.Yukarıdaki komuttan elde edilen örnek sonuç, SNI'yı Mesaj İşleyici'de etkinleştirdikten sonra aşağıdaki gibi görünür:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
Benzer şekilde, yukarıdaki komuttan elde edilen örnek sonuç, SNI'yı Mesaj İşleyici'de devre dışı bıraktıktan sonra aşağıdaki gibi görünür:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
Yukarıdaki örnek çıktıda,
jsse.enableSNIExtensionözelliğininsystem.propertiesiçinde yeni değertrueveyafalseolarak güncellendiğini unutmayın. Bu, SNI'nın Mesaj İşleyici'de başarıyla etkinleştirildiğini veya devre dışı bırakıldığını gösterir. -
jsse.enableSNIExtensionözelliği için hâlâ eski değeri görüyorsanız SNI'yı doğru şekilde etkinleştirmek veya devre dışı bırakmak için ilgili bölümde belirtilen tüm adımları uyguladığınızı doğrulayın. Herhangi bir adımı atladıysanız tüm adımları tekrar doğru şekilde uygulayın. - SNI'yı hâlâ etkinleştiremiyor veya devre dışı bırakamıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.