Tüm Ürünler
Search
Belge Merkezi

:SNI uyumluluk sorunlarından kaynaklanan HTTPS erişim istisnalarını nasıl çözerim?

Son Güncelleme:Oct 05, 2026

Bu konu, ilgili web hizmetleri Web Application Firewall (WAF) üzerine eklendikten sonra istemciler arasındaki Server Name Indication (SNI) uyumluluk sorunlarından kaynaklanan HTTPS erişim istisnalarının nasıl çözüleceğini açıklar.

Arka plan

Sanal barındırma, IP adresi kıtlığı sorununu ele almak için tanıtılmıştır. Sanal barındırma, tek bir HTTP veya HTTPS sunucusunun aynı IP adresini paylaşarak birden çok alan adını barındırmasına olanak tanır. Bu durumda her alan adı bir sanal ana bilgisayar görevi görür. Sunucu, istemci isteklerinde taşınan Host üst bilgilerine göre istekleri farklı sanal ana bilgisayarlara yönlendirebilir. Örneğin, bir tarayıcı sanal barındırmanın etkin olduğu bir web sunucusunda barındırılan bir HTTPS sitesine erişmeden önce sunucuyla bir SSL bağlantısı kurmalı ve gerekli sunucu sertifikasını istemelidir. Ancak sunucu hangi alan adına erişildiğini belirleyemez ve gerekli sertifikayı döndüremez.

SNI, bu sorunu çözmek için tasarlanmış bir SSL/TLS uzantısıdır. Sunucuyla bir SSL bağlantısı kurulmadan önce tarayıcı, erişilecek alan adını belirten ana makine adını sunucuya gönderir. Ardından sunucu alan adını tanımlar ve buna karşılık gelen sertifikayı döndürür.

Çoğu işletim sistemi ve tarayıcı SNI'yi destekler. OpenSSL 0.9.8 yerleşik SNI desteği sunar. NGINX sunucularının yeni sürümleri de SNI'yi destekler.

Sorun açıklaması

Web siteniz WAF'a eklendikten sonra HTTPS erişim istisnalarıyla karşılaşıyorsa ilgili istemciler SNI'yi desteklemiyor olabilir.

SNI'yi desteklemeyen bir tarayıcı kullanılarak WAF korumalı bir web sitesine erişildiğinde WAF istenen belirli alan adını tanımlayamaz veya tarayıcıyla etkileşim kurmak için gereken sertifikayı elde edemez. Bu durumda WAF, tarayıcıyla el sıkışma sürecini tamamlamak için varsayılan sertifikayı kullanır ve tarayıcı "Certificate not trusted" hatasını bildirir.

Bir istemci SNI'yi desteklemiyorsa aşağıdaki sorunlar oluşabilir:

  • İstemci iOS üzerinde çalışan bir mobil uygulama ise erişim başarılı olur. İstemci Android üzerinde çalışan bir mobil uygulama ise erişim başarısız olur.

  • İstemci bir tarayıcı ise "Certificate not trusted" hatası bildirilir.

Çözüm

İstemcinin SNI'yi destekleyip desteklemediğini belirlemek için istemci tarafında SSL el sıkışma paketlerini yakalayın. Bu örnekte Alibaba Cloud'un resmi web sitesine erişmek için Chrome tarayıcısı kullanılmaktadır.

Client Hello paketinde SNI bilgisi varsa istemci SNI'yi destekler.

Aksi takdirde istemci SNI'yi desteklemez. Öneriler:

  • Tarayıcınızı yükseltin veya Chrome ve Firefox gibi en son sürüm tarayıcıyı kullanın.

  • WeChat veya Alipay geri araması gibi üçüncü taraf geri arama senaryolarında WAF'ı atlamak için kaynak sunucunun IP adresini kullanın.

SNI uyumluluğu

Not

SNI, TLS1.0 ve sonraki sürümlerle uyumludur ancak SSL tarafından desteklenmez.

  • SNI aşağıdaki masaüstü tarayıcıları destekler:

    • Chrome 5 ve sonraki sürümler

    • Chrome 6 ve sonraki sürümler (Windows XP)

    • Firefox 2 ve sonraki sürümler

    • IE 7 ve sonraki sürümler (Windows Vista/Server 2008 ve sonraki sürümlerde; Windows XP'deki herhangi bir IE sürümü hariç)

    • Konqueror 4.7 ve sonraki sürümler

    • Opera 8 ve sonraki sürümler

    • Windows Vista/Server 2008 ve sonraki sürümlerde veya Mac OS X 10.5.6 ve sonraki sürümlerde Safari 3.0

  • SNI aşağıdaki kitaplıkları destekler:

    • GNU TLS

    • Java 7 ve sonraki sürümler (yalnızca istemci olarak)

    • HTTP client 4.3.2 ve sonraki sürümler

    • libcurl 7.18.1 ve sonraki sürümler

    • NSS 3.1.1 ve sonraki sürümler

    • OpenSSL 0.9.8j ve sonraki sürümler

    • OpenSSL 0.9.8f ve sonraki sürümler (bayraklar gerekli)

    • QT 4.8 ve sonraki sürümler

    • Python3, Python 2.7.9 ve sonraki sürümler

  • SNI aşağıdaki mobil tarayıcıları destekler:

    • 3.0 Honeycomb ve sonraki sürümlerde Android Browser

    • iOS 4 ve sonraki sürümlerde iOS Safari

    • Windows Phone 7 ve sonraki sürümler

  • SNI aşağıdaki sunucuları destekler:

    • Apache 2.2.12 ve sonraki sürümler

    • Apache Traffic Server 3.2.0 ve sonraki sürümler

    • HAProxy 1.5 ve sonraki sürümler

    • IIS 8.0 ve sonraki sürümler

    • lighttpd 1.4.24 ve sonraki sürümler

    • LiteSpeed 4.1 ve sonraki sürümler

    • Nginx 0.5.32 ve sonraki sürümler

  • SNI aşağıdaki komut satırı arabirimlerini destekler:

    • cURL 7.18.1 ve sonraki sürümler

    • wget 1.14 ve sonraki sürümler