SSL Sertifikası

SNI Yapılandırması ve Sorunları

SNI ile tek IP'de birden fazla sertifika sunulur. Nginx/Apache örnekleri, -servername testi ve yanlış sertifika sorununun nedenleri.

SNI (Server Name Indication), istemcinin TLS el sıkışmasının başında hangi ana bilgisayar adına bağlanmak istediğini bildirmesini sağlar. Böylece tek bir IP ve 443 portunda birden fazla alan adı, her biri kendi sertifikasıyla yayınlanabilir.

SNI olmadan ne olur?

Sunucu hangi siteye bağlanıldığını el sıkışma bitmeden bilemez. SNI yoksa varsayılan sanal konağın sertifikası sunulur ve istemci "ad uyuşmazlığı" hatası görür. Modern tarayıcılar ve güncel sistemler SNI'yi destekler; sorunlar çoğunlukla çok eski istemcilerde veya SNI göndermeyen araçlarda çıkar.

Nginx örneği

server {
    listen 443 ssl default_server;
    server_name _;
    ssl_certificate     /etc/ssl/varsayilan.crt;
    ssl_certificate_key /etc/ssl/varsayilan.key;
    return 444;
}
server {
    listen 443 ssl;
    server_name site1.com www.site1.com;
    ssl_certificate     /etc/ssl/site1.crt;
    ssl_certificate_key /etc/ssl/site1.key;
}
server {
    listen 443 ssl;
    server_name site2.com;
    ssl_certificate     /etc/ssl/site2.crt;
    ssl_certificate_key /etc/ssl/site2.key;
}

Apache'de her site için ayrı VirtualHost *:443 ve ServerName yeterlidir; Apache 2.4 SNI'yi varsayılan destekler.

Test ve teşhis

openssl s_client -connect 203.0.113.10:443 -servername site1.com </dev/null | openssl x509 -noout -subject
openssl s_client -connect 203.0.113.10:443 </dev/null | openssl x509 -noout -subject
curl -v --resolve site1.com:443:203.0.113.10 https://site1.com/

İlk komut site1 sertifikasını, ikincisi (SNI'siz) varsayılan sertifikayı göstermelidir. Fark buysa SNI çalışıyor demektir.

Sık sorunlar

  • Yanlış sertifika görünüyor: server_name veya ServerName eşleşmiyor, varsayılan sunucu devreye giriyor.
  • IP ile bağlanınca uyarı: IP'ler SNI göndermez; beklenen davranıştır.
  • CDN veya yük dengeleyicinin arkasında kaynak sunucuya SNI iletilmiyor (Nginx proxy kullanıyorsanız proxy_ssl_server_name on gerekebilir).

Sonucu SSL Checker ile doğrulayın. Çok alan adlı çözümler için SSL sertifikaları ve alt alan adlarını tek sertifikayla örtmek için Wildcard SSL seçeneklerine bakabilirsiniz.

Bu makale faydalı oldu mu?

Bu konuyla ilgili SSL sertifikaları

Makalede geçen sertifika türlerine uygun ürünler.

Makale Ara

SSL Kurulum ve Yapılandırma

Yardıma mı İhtiyacınız Var?

Aradığınızı bulamadıysanız destek ekibimiz size yardımcı olabilir.

Destek Talebi Aç