SNI ile nginx'in ilk olarak hangi SSL sertifikasını gönderdiğini nasıl belirleyebilirim?


12

Debian Squeeze'de yaklaşık 30 alan için nginx 1.2.7'yi OpenSSL 0.9.8o ile kullanıyorum. İkisinde de her ikisinde de iyi çalışan SSL'yi etkinleştirdim.

SSL yapılandırması her iki alan için de kullanılır:

listen 443 ssl;
ssl_certificate /etc/nginx/ssl/example.org-unified.crt;
ssl_certificate_key /etc/nginx/ssl/example.org.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security max-age=600000;

Her iki etki alanını ssllabs.com denetleyicisi ile denetleme Bir etki alanı için "Bu site yalnızca SNI desteği olan tarayıcılarda çalışır" uyarısı alıyorum. Diğer alan adı için bu mesajı alamıyorum. Nginx varsayılan olarak SNI desteği olmayan istemcilere alfabetik olarak ilk etki alanı için sertifika gönderir. Bu davranışı değiştirebilir miyim?

Başka bir deyişle: nginx'i, SNI desteği olmayan istemciler için bile SSL ile çalışan belirli bir etki alanına sahip olacak şekilde yapılandırmak istiyorum. Diğer alan adları da SSL ile çalışmalıdır, ancak yalnızca SNI özellikli istemcilerde çalışıyorsa sorun olmaz.

Teşekkürler!

Yanıtlar:


20

default_serverAyarı listendirektifi el sıkışma içinde SNI set vermeden bir istek için gönderildiği sertifika belirlemelidir. listenİstenen varsayılanın yönergesini değiştirin :

listen 443 default_server ssl;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.