Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. info
Sunucu Adı Göstergesi (SNI), birden fazla HTTPS hedefinin aynı IP adresinden ve bağlantı noktasından sunulmasına olanak tanır. Bu hedeflerin aynı TLS sertifikasını kullanması gerekmez. SNI bir istemcide etkinleştirildiğinde istemci, ilk TLS el sıkışma sürecinin bir parçası olarak hedef uç noktanın ana makine adını iletir. Bu, TLS sunucusunun isteği doğrulamak için hangi TLS sertifikasının kullanılacağını belirlemesine olanak tanır.
Örneğin, istek hedefi https://example.com/request/path
ise TLS istemcisi, TLS el sıkışması isteğine aşağıdaki gibi server_name
uzantısını ekler:
Edge, SNI'yi aşağıdakiler için destekler:
- İstemci uygulamasından API proxy'sine gönderilen istekler. Bu senaryoda Edge, TLS sunucusu olarak çalışır.
- Edge'den arka uca gelen istekler. Bu senaryoda Edge, TLS istemcisi olarak çalışır.
SNI hakkında daha fazla bilgi için:
- https://en.wikipedia.org/wiki/Server_Name_Indication
- http://blog.layershift.com/sni-ssl-production-ready/
Edge'de API proxy'sine istek için SNI desteği
API proxy'lerine yapılan istekler için SNI desteği, ana makine takma adları ve sanal ana makineler tarafından kontrol edilir.
Sanal ana makineler ve ana makine takma adları hakkında
Edge'de sanal ana makine, API proxy'sinin gösterildiği IP adresini ve bağlantı noktasını ya da DNS adını ve bağlantı noktasını ve buna bağlı olarak uygulamaların API proxy'sine erişmek için kullandığı URL'yi tanımlar. IP adresi/DNS adı bir Edge Yönlendirici'ye karşılık gelir ve bağlantı noktası numarası, yönlendiricideki açık bir bağlantı noktasıdır.
Sanal ana makineyi oluştururken sanal ana makinenin ana makine takma adını da belirtirsiniz.
Bu genellikle sanal ana makinenin DNS adıdır. Yönlendirici, isteği işleyen API proxy'sini belirleme kapsamında, gelen isteğinin Host
başlığını tüm sanal ana makineler tarafından tanımlanan kullanılabilir ana makine takma adlarının listesiyle karşılaştırır.
Sanal ana makinenin ana makine takma adı ve bağlantı noktası numarası kombinasyonu, Edge kurulumundaki tüm sanal ana makineler için benzersiz olmalıdır. Bu, farklı ana makine takma adlarına sahip birden fazla sanal ana makinenin aynı bağlantı noktası numarasını kullanabileceği anlamına gelir.
Sanal ana makine, API proxy'sine HTTP protokolü veya TLS kullanılarak şifrelenmiş HTTPS protokolü üzerinden erişilip erişilmeyeceğini de tanımlar. Bir sanal ana makineyi HTTPS kullanacak şekilde yapılandırırken, sanal ana makineyi TLS el sıkışması sırasında sanal ana makine tarafından kullanılan sertifika ve özel anahtarı içeren bir anahtar deposuyla ilişkilendirin.
Sanal ana makineler hakkında daha fazla bilgi için:
- Sanal ana makineler hakkında
- Private Cloud için bir API'ye TLS erişimini yapılandırma
- Anahtar Depoları ve Güven Depoları
SNI, ana makine takma adlarıyla nasıl çalışır?
SNI, aynı bağlantı noktasında her biri farklı TLS sertifikaları ve anahtarlarına sahip birden fazla sanal ana makine tanımlamanıza olanak tanır. Ardından Edge, TLS el sıkışması istekindeki server_name
uzantısına göre sanal ana makineyi ve TLS tarafından kullanılan sertifika/anahtar çiftini belirler.
Edge Router, TLS el sıkışması isteğinde server_name
uzantısını okur ve ardından tüm sanal ana makinelerdeki ana makine takma adlarını aramak için kullanır. Yönlendirici, bir ana makine takma adıyla eşleşme algılarsa ana makine takma adıyla ilişkili sanal ana makinedeki TLS sertifikasını ve anahtarını kullanır. Eşleşme bulunmazsa TLS el sıkışma işlemi başarısız olur.
TLS el sıkışma işleminin başarısız olması yerine, sonraki bölümlerde açıklandığı gibi varsayılan bir sertifika/anahtar çifti tanımlayabilirsiniz.
Cloud için Edge'de varsayılan sertifika/anahtar çifti tanımlama
Apigee, HTTPS'yi desteklemek için bir TLS sertifikası ve özel anahtar sağlar. Birçok müşteri, dağıtım sırasında kendi sertifikalarını ve özel anahtarlarını kullanmayı tercih etse de API'lerinizi Apigee sertifikası ve anahtarını kullanarak dağıtabilirsiniz.
Cloud için Edge'de, Yönlendirici SNI üstbilgisini bir ana makine takma adıyla eşleştiremezse veya istemci SNI'yi desteklemiyorsa Yönlendirici, Apigee tarafından sağlanan varsayılan sertifikayı (*.apigee.net) kullanır.
Private Cloud için Edge'de varsayılan sertifika/anahtar çifti tanımlama
Özel Bulut için Edge'de, server_name
uzantısı ile tüm sanal ana makinelerdeki ana makine takma adları arasında eşleşme bulunamazsa veya istek gönderen istemci SNI'yi desteklemiyorsa Router'ı, bağlantı noktasındaki varsayılan sanal ana makinedeki sertifika/anahtarı kullanacak şekilde yapılandırabilirsiniz. Varsayılan sanal ana makine, aşağıdaki biçimde kuruluş adı, ortam adı ve sanal ana makine adının bir kombinasyonuyla tanımlanır:
orgName_envName_vhName
Yönlendirici, alfabetik sırayla ilk gelen orgName_envName_vhName kombinasyonundaki sertifika/anahtarı kullanır. Örneğin, istek 443 numaralı bağlantı noktasından gelir ve prod
ortamında example
kuruluşu için tanımlanmış iki sanal ana makine vardır:
- sanal ana makine adı =
default
- sanal ana makine adı =
test
Bu örnekte Yönlendirici, example_prod_default
alfabetik olarak example_prod_test
'den önce geldiği için default
adlı sanal ana makinedeki sertifika/anahtarı kullanır.
Varsayılan sanal ana makineyi etkinleştirmek için:
- İlk Yönlendirici düğümünde
/opt/apigee/customer/application/router.properties
değerini düzenleyin. Bu dosya yoksa oluşturun. - Varsayılan bir sanal ana makine tanımlayabilmek için dosyaya aşağıdaki özelliği ekleyin:
conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true
- Yönlendiriciyi yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Bu adımları diğer tüm yönlendiricilerde tekrarlayın.
Varsayılan sanal ana makinedeki sertifika/anahtarı kullanmak yerine, varsayılan sertifikayı/anahtarı yönlendiricide açıkça tanımlayabilirsiniz. Açık bir varsayılan sertifika/anahtar çifti tanımlamak için aşağıdaki prosedürü uygulayın:
- İlk Yönlendirici düğümünde, sertifika ve özel anahtarı Yönlendirici düğümünde apigee kullanıcısının erişebileceği bir konuma kopyalayın. Örneğin,
/opt/apigee/customer/application
. - Dosyaların sahipliğini "apigee. user" olarak değiştirin:
chown apigee:apigee /opt/apigee/customer/application/myCert.pem
chown apigee:apigee /opt/apigee/customer/application/myKey.pem
/opt/apigee/customer/application/router.properties
öğesini düzenle. Bu dosya yoksa oluşturun.- Varsayılan sertifikayı/anahtarı belirtmenizi sağlamak için dosyaya aşağıdaki özellikleri ekleyin:
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 - Sertifikanın ve anahtarın yerini belirtmek için
router.properties
içinde aşağıdaki özellikleri ayarlayın: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
- Yönlendiriciyi yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Bu adımları diğer tüm yönlendiricilerde tekrarlayın.
Edge'den arka uca gönderilen istekler için SNI desteği
Edge, Apigee Edge for Cloud ve Private Cloud dağıtımlarında uç noktaları hedeflemek için Mesaj İşleyicilerden SNI kullanımını destekler. SNI, varsayılan olarak Bulut için Edge Mesaj İşleyicileri'nde etkindir ve Private Cloud'da devre dışıdır.
Özel Bulut için Edge'de arka uca SNI kullanma
Özel Bulut için Edge'in mevcut hedef arka uçlarla geriye dönük uyumlu olması amacıyla Apigee, SNI'yi varsayılan olarak devre dışı bıraktı. Hedef arka uç sunucunuz SNI'yi destekleyecek şekilde yapılandırılmışsa bu özelliği, Edge sürümünüz için aşağıda açıklandığı şekilde etkinleştirebilirsiniz.
Edge'e özgü başka bir yapılandırma gerekmez. Hedef ortamınız SNI için yapılandırılmışsa Edge bunu destekler. Edge, ana makine adını istek URL'sinden otomatik olarak ayıklayıp TLS el sıkışma isteğine ekler.
Edge 4.15.07.0x sürümü için Edge ile arka uç arasında SNI'yi etkinleştirme
SNI'yi etkinleştirmek için aşağıdaki prosedürü uygulayın:
- İlk Mesaj İşleyen düğümünde, dosyayı bir düzenleyicide açın.
/opt/apigee4/conf/apigee/message-processor/system.properties
system.properties
öğesinde aşağıdaki özelliği true olarak ayarlayın:jsse.enableSNIExtension=true
- Mesaj işleyicileri yeniden başlatın:
/opt/apigee4/bin/apigee-service message-processor restart
- Bu adımları kalan tüm ileti işleyicilerde tekrarlayın.
Edge 4.16.01 ve sonraki sürümler için Edge ile arka uç arasında SNI'yi etkinleştirme
SNI'yi etkinleştirmek için aşağıdaki prosedürü uygulayın:
- İlk Mesaj İşleyen düğümünde
/opt/apigee/customer/application/message-processor.properties
öğesini düzenleyin. Bu dosya yoksa oluşturun. - Dosyaya aşağıdaki özelliği ekleyin:
conf_system_jsse.enableSNIExtension=true
- Mesaj işleyiciyi yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Bu adımları kalan tüm ileti işleyicilerde tekrarlayın.