Güvenlik Sertifikası Ad Uyuşmazlığı Hatası: 6 Neden ve Çözümü
Tarayıcı sayfayı açmak yerine kırmızı bir uyarı ekranı gösteriyor: “Bu sitenin güvenlik sertifikası bu siteye ait değil” ya da Chrome’un teknik ayrıntı satırında NET::ERR_CERT_COMMON_NAME_INVALID. Safari’de aynı durum “Bu sitenin güvenlik sertifikasında ad uyuşmazlığı var” diye çıkar.
Bu hata sertifikanın bozuk olduğunu değil, sunucunun sunduğu sertifikanın üzerinde tarayıcının adres çubuğuna yazdığınız alan adının yazmadığını söyler. Sertifika geçerli olabilir, süresi dolmamış olabilir, hatta doğru sertifika sunucuda kurulu olabilir; yine de eşleşme sağlanmazsa tarayıcı devam etmez. Çünkü ad kontrolü olmasa, geçerli bir sertifikası olan herkes başka bir sitenin trafiğini araya girip okuyabilirdi.
Teşhis basittir: sertifikanın içindeki ad listesine bakıp, sizin girdiğiniz adresin orada olup olmadığını görmek. Altı tipik neden ve her biri için doğrulama adımı aşağıda.
Önce sertifikanın kapsadığı adları görün
Tahmin etmeye gerek yok. Uyarı ekranında Gelişmiş bağlantısına tıklayıp sertifikayı görüntüleyin ve Subject Alternative Name (SAN) alanını okuyun. Komut satırını tercih ederseniz:
openssl s_client -connect alanadi.com:443 -servername alanadi.com < /dev/null 2>/dev/null | openssl x509 -noout -subject -dates -ext subjectAltName
Çıktıda DNS:alanadi.com, DNS:www.alanadi.com gibi bir liste görürsünüz. Tarayıcı yalnızca bu listeye bakar; eski CN (Common Name) alanı modern tarayıcılarda tek başına dikkate alınmaz. Girdiğiniz adres listede yoksa hatanın nedeni bulunmuş demektir. Sıra hangi senaryoda olduğunuzu belirlemeye geldi.
Altı yaygın neden ve ayırt edici belirtileri
| Neden | Belirti | Doğrulama |
|---|---|---|
| www kapsam eksikliği | alanadi.com açılıyor, www.alanadi.com hata veriyor (veya tersi) | SAN listesinde yalnızca bir sürüm var |
| Alt alan adı kapsam dışı | Ana site sorunsuz, panel.alanadi.com hata veriyor | SAN’da alt alan adı yok |
| Park edilmiş alan adı | İkinci alan adınız birinci sitenin sertifikasını gösteriyor | Sertifikadaki ad başka alan adı |
| Yanlış sertifika sunuluyor | Sunucuda doğru sertifika kurulu ama başkası dönüyor | SNI testi (aşağıda) |
| Paylaşımlı IP / varsayılan sertifika | Sertifikada sunucu adı yazıyor: *.sunucu.host.com |
DNS henüz yayılmamış olabilir |
| CDN veya proxy | Cloudflare açtıktan sonra başladı | Sertifika sağlayıcısı CDN görünüyor |
www’lu ve www’suz kapsam eksikliği
En sık görülen durum bu. Sertifika yalnızca alanadi.com için düzenlenmiş, ziyaretçi www.alanadi.com yazınca hata alıyor. Otomatik sertifika sistemleri her iki adı da eklemek ister ama bunun için ikisinin de sunucuya işaret etmesi gerekir. www için CNAME ya da A kaydı yoksa veya farklı bir yere gidiyorsa, doğrulama sadece çıplak alan adı için başarılı olur.
Çözüm sırası:
- DNS bölgesinde
wwwiçin bir kayıt olduğundan ve sitenizin IP adresine gittiğinden emin olun. Kayıt türleri arasındaki farklar için DNS kayıtları rehberi işinizi görür. - cPanel’de SSL/TLS Status ekranını açın, hem
alanadi.comhemwww.alanadi.comsatırını işaretleyip Run AutoSSL deyin. - Yeni kayıt eklediyseniz yayılmayı bekleyin; genelde 15 dakika ile 2 saat arasında oturur, TTL 3600 ise en fazla bir saat.
- Sertifika yenilendikten sonra tek bir sürümü tercih ederek diğerini yönlendirin; ikisini de sertifikada tutmak yine de gerekir, çünkü yönlendirme de https üzerinden yapılır.
Alt alan adları ve park edilmiş alan adları
Sertifika alanadi.com ve www.alanadi.com için düzenlenmişse panel.alanadi.com ya da test.alanadi.com kapsam dışındadır. Her alt alan adı sertifikada ayrı ayrı yazmak zorundadır. Çok sayıda alt alan adınız varsa tek tek eklemek yerine bir wildcard sertifika daha pratik olur.
Park edilmiş alan adı ise ayrı bir tuzaktır. cPanel’de ikinci alan adınızı Parked Domain (Aliases) olarak eklediyseniz, o alan adı ana sitenin dosyalarını gösterir ama sertifikaya otomatik girmeyebilir. Sonuç: ziyaretçi ikinci alan adına girince birinci alan adının sertifikasını görür ve ad uyuşmazlığı hatası alır. Çözüm, ikinci alan adını da AutoSSL kapsamına almak veya onu ayrı bir addon domain olarak kendi dizinine kurmaktır. Alan adı yönlendirmesi yapıyorsanız yönlendirmenin kendisi de geçerli bir sertifika ister; yani kaynak alan adı için de sertifika şart.
Sunucunun yanlış sertifikayı sunması: SNI ve paylaşımlı IP
Bir IP adresinde onlarca site barınır. Sunucu hangi sitenin sertifikasını sunacağını, istemcinin el sıkışma sırasında ilettiği SNI (Server Name Indication) bilgisinden anlar. Bu mekanizma bozulursa sunucu varsayılan sertifikayı döndürür ve genelde sertifikanın üzerinde barındırma firmasının sunucu adı yazar, örneğin *.sunucu321.cir.net.tr.
SNI’yi doğrudan test edin. Şu iki komutun çıktısını karşılaştırın:
openssl s_client -connect 185.x.x.x:443 -servername alanadi.com | openssl x509 -noout -subjectopenssl s_client -connect 185.x.x.x:443 | openssl x509 -noout -subject
Birincisi doğru adı, ikincisi sunucunun varsayılanını verir. Birincisi de yanlışsa sertifika sunucuda o alan adına bağlanmamıştır; cPanel > SSL/TLS > Manage SSL Sites ekranından doğru alan adına kurun.
Bir diğer olasılık: alan adınızın DNS kaydı hâlâ eski sunucuya bakıyordur. Yeni taşındıysanız tarayıcınız eski IP’ye gidip oradaki başka bir sitenin sertifikasını görüyor olabilir. nslookup alanadi.com ile dönen IP’nin gerçekten yeni hosting hesabınızın IP’si olduğunu doğrulayın.
CDN, proxy ve istemci tarafı yanılgılar
Cloudflare gibi bir proxy kullanıyorsanız ziyaretçinin gördüğü sertifika sizin sunucunuzun değil, CDN’in sertifikasıdır. Alan adını CDN’e yeni eklediyseniz sertifika üretilmesi birkaç dakika sürer ve bu arada ad uyuşmazlığı görülebilir. Ayrıca ücretsiz planların paylaşımlı sertifikaları çoğu zaman yalnızca birinci seviye alt alan adlarını kapsar; a.b.alanadi.com gibi iki kademeli adlar kapsam dışı kalır.
İstemci kaynaklı iki durumu da eleyin:
- Kurumsal ağlarda güvenlik duvarı veya antivirüs, trafiği kendi sertifikasıyla açıp yeniden imzalar. Aynı site başka bir ağda sorunsuz açılıyorsa neden budur.
- Siteye IP adresiyle (
https://185.x.x.x) girmek her zaman ad uyuşmazlığı verir; sertifikalar IP için değil ad için düzenlenir.
Test için tarayıcı yerine curl -I https://alanadi.com kullanmak da işe yarar; hata mesajı sadeleşir ve ara katmanların etkisi azalır.
Özetle
- Hata, sertifikanın bozuk olduğunu değil, adres çubuğundaki adın sertifikanın SAN listesinde bulunmadığını söyler.
- İlk adım her zaman
opensslya da tarayıcı ile sertifikanın kapsadığı adları görmektir. - En sık neden www kaydının eksikliği; ikincisi sertifikaya girmemiş alt alan adı veya park edilmiş alan adıdır.
- Sertifikada barındırma firmasının sunucu adı yazıyorsa SNI veya DNS yönü sorunlu demektir.
- CDN, kurumsal güvenlik duvarı ve IP ile erişim aynı hatayı üretir; farklı bir ağdan test ederek ayırt edin.