Bildiğimiz gibi IIS Web Sunucusuna 8.0 versiyonundan itibaren tek bir IP üzerinden bir çok Web Sitesi için SSL alan oluşturabilmenizi sağlayan SNI (Server Name Indication) desteği geldi ve paylaşımlı barındırma ortamlarında yaygın olarak kullanılmaya başlandı.

Paylaşımlı ortamlarda dedike bir IP ile çalışan non-SNI yani legacy SSL hem de SNI olarak çalışan SSL alanları mevcuttur. Dedike IP’ye tanımlı SSL’leri bir kenara bırakırsak paylaşımlı IP üzerinde çalışan ve SNI aktif edilmiş alanlar Windows sunucularda ilginç bir durum ile karşılaşırlar.

Örnek üzerinden ilerlersek;
IIS Web Sunucusunda paylaşımlı IP üzerinde çalışan birincissl.com alan adına eklediğimiz SNI binding beklendiği şekilde çalışıyor. Fakat yine aynı IP üzerinde çalışan ikincissl.com  alan adına eklenen SNI alanı konfigürasyonu doğru olmasına rağmen Browser üzerinden istenildiğinde ilk eklenen SNI alanının sertifika bilgisi ile yani birincissl.com olarak çalışarak gerçersiz SSL sertifikası hatasının alınmasına neden oluyordu.

Bu durum IIS’in RFC6066 dokümantasyonunu implemente etme tercihi ile alakalı bir karardan kaynaklanıyor. Son eklenen SNI Binding’i, çalıştığı IP’ye de ekleniyor hal böyle olunca o IP’de çalışan diğer SNI Binding’lerin hepsi yanlış olan SSL sertifikasını görüyor.

Çözüm basit. SNI Bindinglerin önüne geçen bu IP ile çalışan binding silindiği taktirde diğer SNI alanlar sorunsuz çalışacaktır.

netsh http delete sslcert ipport=IP.AD.RE.SI:443

Burada dikkat edilmesi gereken husus ise sadece paylaşımlı kullanılan IP adresi ise bu komutu çalıştırmanızdır. Diğer türlü legacy SSL’i de çalışma hale getirebilirsiniz.

 

Tagged:

Yazar