SSL sertifikasına tarayıcılar güvenmiyor
sec_cert_invalidKısa cevap
Sitenize bağlanan bir istemci sertifikayı doğrulayamıyor; bu yüzden ziyaretçiler sayfanız yerine tam sayfa bir güvenlik uyarısı görüyor. Olağan sebepler başka bir ad için verilmiş sertifika, kendinden imzalı ya da süresi dolmuş sertifika veya ara sertifika zinciri olmadan yalnız kendi sertifikasını gönderen bir sunucudur. Tam bu ana makine adını içeren, genel bir sertifika otoritesinden alınmış bir sertifika kurun ve zincirin tamamını sunun.
Neden önemli
Her ziyaretçi NET::ERR_CERT_COMMON_NAME_INVALID ya da SEC_ERROR_UNKNOWN_ISSUER gibi bir uyarı sayfasına takılır. Çok azı uyarıyı geçer; formlar, ödeme sayfası, uygulamalar ve API istemcileri hiç bağlanmaz. Bu durum aramayı da etkiler: Google bir sayfanın HTTPS sürümünü varsayılan olarak ancak sertifikası geçerliyse dizine ekler ve sonuçlardan gelen kişiler içeriğinizden önce uyarıyı görür.
Eksik zincir en sinsi türdür. Bazı tarayıcılar eksik ara sertifikayı indirerek ya da hatırlayarak bunu onarır; site kendi bilgisayarınızda sorunsuz görünürken başka tarayıcılar, birçok uygulama, komut satırı araçları ve tarayıcı botları başarısız olur. Kendi tarayıcınızda sorun görmemek kanıt değildir.
Glimana bunu nasıl tespit eder
Glimana ana makine adınıza 443 numaralı bağlantı noktasından, genel olarak güvenilen kök sertifikaların standart deposunu kullanarak sıkı doğrulamalı bir TLS bağlantısı kurar. Eksik ara sertifikaları kendisi indirmez; yani sunucunuz zincirin tamamını kendisi göndermelidir. Ardından ana makine adınızın sertifikanın Subject Alternative Names alanında geçip geçmediğine bakar; joker tam olarak tek bir etiketi kapsar (*.example.com, www.example.com ile eşleşir ama example.com ya da a.b.example.com ile eşleşmez). Doğrulama ya da ad kontrolü başarısız olursa sonuç kritiktir; sorun, hatayı ve sertifikanın gerçekten kapsadığı adları gösterir. Süresi dolmuş bir sertifika, bitiş kontrolünün yanında burada da başarısız olur.
Nasıl düzeltilir
Dikkat
Cloudflare arkasındaysanız önce kaydın vekil durumuna bakın: gri bulut (yalnız DNS) kayıt ziyaretçileri doğrudan kaynak sunucunuzun sertifikasına gönderir; Universal SSL ise yalnız kök alan adını ve birinci düzey alt alan adlarını kapsar (www.example.com evet, dev.www.example.com hayır). Cloudflare Origin CA sertifikalarına yalnız Cloudflare güvenir; ziyaretçilerin doğrudan eriştiği bir sunucuda kendinden imzalı sertifika gibi başarısız olurlar.
- Glimana'da bulguyu bulun. Güvenlik sayfasını açın; bu kontrol Sertifika ve HTTPS grubunda, son taramanın kanıtı başlığının altında. Aynı sorun Sorunlar › SSL sertifikasına tarayıcılar güvenmiyor altında da listelenir.
-
Düzeltmeyi platformunuzda uygulayın.
cPanel: Security › SSL/TLS Status hangi adların kapsandığını gösterir. Sunduğunuz her ana makine adını (hem
example.comhemwww.example.com) seçip Run AutoSSL düğmesine tıklayın. Elle kurulmuş bir sertifikada SSL/TLS › Manage SSL sites ekranını açın ve otoritenizin verdiği ara sertifikaları Certificate Authority Bundle alanına yapıştırın. Plesk: SSL It! ilewwwalt alan adını da içeren yeni bir Let's Encrypt sertifikası alın.DNS › Records ekranında ana makine adının vekil (turuncu bulut) olduğundan emin olun; böylece ziyaretçiler Cloudflare'in uç sertifikasını alır. Daha derin alt alan adları için gelişmiş sertifika ya da Total TLS gerekir (SSL/TLS › Edge Certificates; ikisi de Advanced Certificate Manager ister). Cloudflare ile sunucunuz arasında geçerli bir kaynak sertifikasıyla Full (strict) kullanın; orada Cloudflare Origin CA sertifikası yeterlidir.
Sunucuyu yalnız yaprak sertifikaya değil, zincirin tamamına yönlendirin; Certbot'ta bu
fullchain.pemdosyasıdır.Nginx:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;vessl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;Apache 2.4.8 ve sonrası:
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pemveSSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pemİki adı da kapsayan sertifika almak için:
sudo certbot --nginx -d example.com -d www.example.com(ya da--apache). Herhangi bir makineden kontrol:openssl s_client -connect example.com:443 -servername example.com </dev/null | grep "Verify return code"komutu0 (ok)yazmalıdır. - Glimana'da kontrol edin. Güvenlik sayfasında Yeniden tara düğmesine basın (saatte en çok iki tarama) ya da pazar günkü haftalık taramayı bekleyin; kontrol geçince sorun kapanır.
Düzeltme nasıl doğrulanır
Güvenlik sayfasında Yeniden tara düğmesine basın (ya da pazar günkü haftalık taramayı bekleyin); kontrol geçtiğinde sorun kapanır.