NET::ERR_CERT_COMMON_NAME_INVALID: sertifika adı sitenizle uyuşmuyor

SSL Sertifikası ve https 62 görüntülenme Markdown

Tarayıcının uyarısı şöyle bir şey söylüyor: "Bu sunucu ornek.com olduğunu kanıtlayamadı; güvenlik sertifikası başka bir alan adı için verilmiş" (NET::ERR_CERT_COMMON_NAME_INVALID). Sertifika geçerli ve süresi dolmamış, ama içinde sizin açtığınız adres yazmıyor. Bir sertifika yalnızca içinde listelenen adlar için geçerlidir; bunlar SAN (Subject Alternative Name) alanındadır.

Sertifika hangi adları kapsıyor?

echo | openssl s_client -connect ornek.com:443 -servername www.ornek.com 2>/dev/null | openssl x509 -noout -subject -ext subjectAltName

Komut, sertifikanın konusunu ve kapsadığı tüm adları listeler. Açtığınız adres (örneğin www.ornek.com) listede yoksa sebep budur. Tarayıcıda da sertifikayı görüntüleyip ayrıntılar bölümünde aynı bilgiye bakabilirsiniz.

En yaygın nedenler

  1. Yalnızca www'siz ad için sertifika alınmış (ya da tersi). Certbot'u sadece bir adla çalıştırdıysanız diğeri kapsanmaz. Çözüm: iki adı birlikte alın:
    sudo certbot --nginx -d ornek.com -d www.ornek.com
    Hosting panelinde aynı şey, alan adına www takma adını ekleyip sertifikayı yeniden almaktır; panel takma ad değişince Let's Encrypt sertifikasını yeniden alır.
  2. Yanlış site bloğu yanıt veriyor. Nginx'te alan adı için tanımlı bir server bloğu yoksa (ya da server_name yanlış yazılmışsa) istek varsayılan bloğa düşer ve o bloğun sertifikası sunulur. Genellikle başka bir sitenin sertifikasını görürsünüz. sudo nginx -T | grep -n -E "server_name|ssl_certificate" ile hangi ad hangi sertifikayla eşleşiyor kontrol edin: birden fazla site.
  3. Alt alan adı sertifikanın kapsamında değil. ornek.com sertifikası blog.ornek.com'u kapsamaz (joker sertifika *.ornek.com kapsar). Alt alan adı için ayrı sertifika alın: alt alan adı.
  4. IP adresiyle ya da farklı bir adla açıyorsunuz. https://203.0.113.10 yazarsanız sertifika alan adı için olduğundan uyuşmaz; bu normaldir. Alan adıyla açın.
  5. Alan adı yanlış sunucuya gidiyor. Taşıma sonrası A kaydı eski sunucuya işaret ediyorsa eski sunucunun sertifikası görünür. dig +short A ornek.com ile kontrol edin.
  6. Cloudflare: Ziyaretçiye Cloudflare sertifika sunar; ücretsiz planda yalnızca ana alan adı ve bir seviye alt alan adı kapsanır. İki seviyeli alt alan adlarında (a.b.ornek.com) kapsama olmayabilir.

Düzeltme sonrası

Yeni sertifikayı aldıktan sonra Nginx'i yeniden yükleyin (sudo systemctl reload nginx) ve tarayıcıyı gizli pencerede deneyin. Sertifikanın süresiyle ilgili hata için: ERR_CERT_DATE_INVALID. Zincir ya da kapsam doğrulaması için: openssl ile kontrol.

Sık sorulanlar

Sadece www'de hata veriyorum, www'siz sorunsuz.

Sertifika yalnızca www'siz adı kapsıyordur. www adını da ekleyerek sertifikayı yeniden alın (ya da www'yi www'siz adrese yönlendirmeden önce www için de geçerli bir sertifika sunun).

Joker sertifika (wildcard) ne işe yarar?

*.ornek.com tüm tek seviyeli alt alan adlarını kapsar, ama kök alan adını kapsamaz; onu ayrıca eklemek gerekir. Joker sertifika almak DNS doğrulaması ister.

Hosting'de sertifika alt alan adı için çalışmıyor.

Alt alan adını ayrı bir web alan adı olarak ekleyip SSL'yi onun için ayrıca etkinleştirin.

İlgili makaleler

Sorununuz çözülmediyse destek talebi açın. Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.