Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Sunucu Adı Göstergesi (SNI), birden fazla HTTPS hedefinin aynı IP adresi ve bağlantı noktası üzerinden sunulmasına olanak tanır. Bu hedeflerin aynı TLS sertifikasını kullanması gerekmez. SNI bir istemcide etkinleştirildiğinde istemci, hedef uç noktanın ana makine adını ilk TLS el sıkışmasının bir parçası olarak 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'yı şu durumlarda destekler:
- Bir istemci uygulamasından API proxy'sine yapılan istekler. Bu senaryoda Edge, TLS sunucusu olarak işlev görür.
- Edge'den arka uca yapılan istekler. Bu senaryoda Edge, TLS istemcisi olarak işlev görür.
SNI hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:
- https://en.wikipedia.org/wiki/Server_Name_Indication
- http://blog.layershift.com/sni-ssl-production-ready/
Edge'de API proxy'sine yapılan istek için SNI'yı destekleme
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, bir API proxy'sinin kullanıma sunulduğu IP adresini ve bağlantı noktasını veya DNS adını ve bağlantı noktasını ve dolayısıyla uygulamaların bir API proxy'sine erişmek için kullandığı URL'yi tanımlar. IP adresi/DNS adı bir uç yönlendiriciye karşılık gelir ve bağlantı noktası numarası, yönlendiricide açık bir bağlantı noktasıdır.
Sanal ana makineyi oluştururken sanal ana makinenin ana makine diğer adını da belirtirsiniz.
Bu genellikle sanal ana makinenin DNS adıdır. İsteği işleyen API proxy'sini belirleme sürecinde Yönlendirici, gelen isteğin Host başlığını tüm sanal ana makineler tarafından tanımlanan kullanılabilir ana makine takma adları listesiyle karşılaştırır.
Sanal ana makine için ana makine takma adı ve bağlantı noktası numarası kombinasyonu, Edge yüklemesindeki tüm sanal ana makineler için benzersiz olmalıdır. Bu, farklı ana makine takma adlarına sahipse birden fazla sanal ana makinenin aynı bağlantı noktası numarasını kullanabileceği anlamına gelir.
Sanal ana makine, API proxy'sine HTTP protokolü kullanılarak mı yoksa TLS kullanılarak şifrelenmiş HTTPS protokolüyle mi erişileceğini de tanımlar. 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 sertifikayı ve özel anahtarı içeren bir anahtar deposuyla ilişkilendirin.
Sanal ana makineler hakkında daha fazla bilgi için aşağıdaki kaynaklara bakın:
- 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 tanımlanmış, her biri farklı TLS sertifikalarına ve anahtarlarına sahip birden fazla sanal ana makineye sahip olmanıza olanak tanır. Ardından Edge, TLS el sıkışması isteğindeki server_name
uzantısına göre sanal ana makineyi ve TLS tarafından kullanılan sertifika/anahtar çiftini belirler.
Edge yönlendirici, TLS el sıkışma isteğindeki server_name uzantısını okur ve ardından tüm sanal ana makinelerdeki ana makine takma adları ile arama yapmak 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 makineden TLS sertifikası ve anahtarı kullanır. Eşleşme bulunamazsa TLS el sıkışması başarısız olur.
TLS el sıkışmasının başarısız olmasını önlemek için sonraki bölümlerde açıklandığı gibi varsayılan bir sertifika/anahtar çifti tanımlayabilirsiniz.
Edge for the Cloud'da 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 sertifikasını ve özel anahtarını kullanmayı tercih etse de API'lerinizi Apigee sertifikası ve anahtarıyla dağıtabilirsiniz.
Edge for the Cloud'da, yönlendirici SNI üstbilgisini bir ana makine takma adıyla eşleştiremiyorsa veya istemci SNI'yı desteklemiyorsa yönlendirici, Apigee tarafından sağlanan varsayılan sertifikayı (*.apigee.net) kullanır.
Private Cloud için Edge'de varsayılan bir sertifika/anahtar çifti tanımlama
Özel Bulut için Edge'de, server_name uzantısı ile tüm sanal ana makinelere ait ana makine takma adları arasında eşleşme bulunamazsa veya istekte bulunan istemci SNI'yı desteklemiyorsa yönlendiriciyi, bağlantı noktasındaki varsayılan bir sanal ana makineden gelen sertifikayı/anahtarı kullanacak şekilde yapılandırabilirsiniz. Varsayılan sanal ana makine, kuruluş adı, ortam adı ve sanal ana makine adının birleşimiyle şu şekilde tanımlanır:
orgName_envName_vhName
Yönlendirici, alfabetik sırada ilk gelen orgName_envName_vhName kombinasyonundaki sertifikayı/anahtarı kullanır. Örneğin, istek 443 numaralı bağlantı noktasından gelir ve ortamda prod kuruluş için tanımlanmış iki sanal ana makine example vardır:
- sanal ana makine adı =
default - sanal ana makine adı =
test
Bu örnekte, yönlendirici default adlı sanal ana makineden gelen sertifikayı/anahtarı kullanır.example_prod_default, alfabetik olarak example_prod_test'den önce gelir.
Varsayılan sanal ana makineyi etkinleştirmek için:
- İlk yönlendirici düğümünde
/opt/apigee/customer/application/router.propertiessimgesini düzenleyin. Bu dosya yoksa oluşturun. - Varsayılan bir sanal ana makine tanımlamanıza olanak tanımak 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 sertifikayı/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ü kullanın:
- İlk yönlendirici düğümünde, sertifikayı ve özel anahtarı, apigee kullanıcısı tarafından erişilebilen 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.propertiespaketini düzenleyin. Bu dosya yoksa oluşturun.- Varsayılan sertifikayı/anahtarı belirtmenize olanak tanımak 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 - Sertifika ve anahtarın konumunu belirtmek için
router.propertiesiç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 yapılan istekler için SNI'yı destekleme
Edge, Message Processor'lardan SNI kullanımını destekleyerek Apigee Edge for Cloud ve Private Cloud dağıtımlarındaki uç noktaları hedefler. SNI, varsayılan olarak Cloud için Edge Message Processors'da etkinleştirilir ve Private Cloud'da devre dışı bırakılır.
Özel Bulut için Edge'de arka uçta SNI kullanma
Edge for the Private Cloud'da, mevcut hedef arka uçlarla geriye dönük uyumluluk için Apigee, SNI'yı varsayılan olarak devre dışı bırakır. Hedef arka ucunuz SNI'yı destekleyecek şekilde yapılandırılmışsa Edge sürümünüz için bu özelliği aşağıda açıklandığı şekilde etkinleştirebilirsiniz.
Edge'e özel 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 çıkarır ve TLS el sıkışma isteğine ekler.
Edge 4.15.07.0x sürümünde Edge ile arka uç arasında SNI'yı etkinleştirme
SNI'yı etkinleştirmek için aşağıdaki prosedürü kullanın:
- İlk Mesaj İşleyici düğümünde dosyayı
/opt/apigee4/conf/apigee/message-processor/system.propertiesbir düzenleyicide açın. system.propertiesiçinde aşağıdaki özelliği doğru olarak ayarlayın:jsse.enableSNIExtension=true
- İleti İşleyicileri yeniden başlatın:
/opt/apigee4/bin/apigee-service message-processor restart
- Bu adımları kalan tüm Mesaj İşleyiciler için tekrarlayın.
Edge 4.16.01 ve sonraki sürümler için Edge ile arka uç arasında SNI'yı etkinleştirme
SNI'yı etkinleştirmek için aşağıdaki prosedürü kullanın:
- İlk Mesaj İşleyici düğümünde
/opt/apigee/customer/application/message-processor.propertiesdosyasını düzenleyin. Bu dosya yoksa oluşturun. - Dosyaya aşağıdaki özelliği ekleyin:
conf_system_jsse.enableSNIExtension=true
- Mesaj İşleyici'yi yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Bu adımları kalan tüm Mesaj İşleyiciler için tekrarlayın.