Alan adı uyuşmazlığı: sertifika var ama "bu site için" değil
2 dk okuma
Chrome NET::ERR_CERT_COMMON_NAME_INVALID, curl "hostname mismatch" diyor mu? Sertifikanın hangi adları kapsadığı (SAN), www/çıplak alan adı tuzağı ve çözümü.
Sertifika geçerli olabilir ama sizin adınız için olmayabilir
Bir sertifika, yalnızca içinde listelenen alan adları için geçerlidir. Tarayacılar bu listeyi SAN (Subject Alternative Name) alanından okur; 2017'den beri eski usul CN alanını tamamen yok sayarlar. Ziyaret ettiğiniz ad listede yoksa Chrome NET::ERR_CERT_COMMON_NAME_INVALID, curl hostname ... does not match der.
En sık iki senaryo: sertifika www.site.com için alınmış ama ziyaretçi site.com'a gelmiş (ya da tersi) — sertifika gözünde bunlar iki ayrı addır; ve alt alan adı unutulmuş: api.site.com için ayrı kayıt gerekir.
Teşhis: hangi adları kapsıyor?
SSLx'te alan adınızı sorgulayıp "Domain eşleşiyor / uyuşmazlığı" rozetine tıklayın: pencere sorguladığınız adı, sertifikanın kapsadığı adların tam listesini, eşleşen adı vurgusuyla ve eşleşmeme nedenini düz cümleyle gösterir — "sertifika www'yu kapsıyor ama çıplak adı kapsamıyor" gibi. Mümkünse "şunu sorgulamayı deneyin" önerisi de verir.
Çözüm
Sertifikayı yeniden düzenletirken kullanılan bütün adları SAN listesine ekletin: en azından site.com + www.site.com; gerekiyorsa alt alan adları ya da *.site.com jokeri. Let's Encrypt'te certbot'a -d site.com -d www.site.com biçiminde birden çok ad verilir. Kurulumdan sonra her iki adresi de ayrı ayrı test edin.
Kendi sitenizi test edin
Bu rehberdeki teşhisleri SSLx on saniyede sizin için yapar: zincir doğrulama, alan adı eşleşmesi, süre ve HSTS — ücretsiz, kayıtsız.
SSLx ile test etSık sorulan sorular
CN alanı eşleşiyor; tarayıcı neden hâlâ reddediyor?
Tarayıcılar 2017'den beri yalnız SAN listesine bakar; CN'i yok sayarlar. SAN'ı olmayan ya da SAN'ında ilgili ad bulunmayan sertifika, CN ne derse desin reddedilir. SSLx bu durumu "Yalnız CN eşleşiyor — tarayıcılar reddeder" uyarısıyla ayrıca gösterir.
Tek sertifikada kaç alan adı olabilir?
Teknik sınır otoriteye göre değişir; Let's Encrypt sertifika başına 100 ada izin verir. Çok sayıda birbirinden bağımsız site için ayrı sertifikalar yönetimsel olarak daha sağlıklıdır.