«Bu site güvenli bağlantı sağlayamıyor» hatası nasıl düzeltilir
«Bu site güvenli bağlantı sağlayamıyor» hatasını gidermek için öncelikle cihazınızdaki sistem tarihini ve saatini kontrol edin, tarayıcının SSL önbelleğini temizleyin ve siteyi gizli modda açmayı deneyin. Sorun yalnızca sizde devam ediyorsa antivirüsünüzün HTTPS filtrelemesini devre dışı bırakın. Site herkes için erişilemezse site sahibinin SSL sertifikasını yenilemesi veya yeniden yüklemesi ve modern TLS 1.2/1.3 protokollerinin desteğini etkinleştirmesi gerekir.
Hata, tarayıcı ile sunucu arasındaki el sıkışma (handshake) sürecindeki bir arızadan kaynaklanır. Tarayıcı, sitenin kimliğini doğrulayamadığında veya kullanılan şifreleme yöntemlerinin eski ve güvensiz olduğunu tespit ettiğinde bağlantıyı engeller.
Önemli: Çevrimiçi bankacılığa giriş yapmaya veya kart bilgilerinizi girmeye çalışırken bu uyarıyı görürseniz, kesinlikle görmezden gelmeyin ve sorunun kötü niyetli kişilerden (oltalama saldırısı) kaynaklanmadığından emin olana kadar siteye girmeyin.
SSL/TLS hatasının nedenleri
Sorun hem istemci tarafında (sizin cihazınız) hem de sunucu tarafında (site barındırma hizmeti) olabilir.
Kullanıcı tarafındaki başlıca nedenler:
- Yanlış tarih ve saat: Sertifikaların kesin bir geçerlilik süresi vardır. Bilgisayarınızın saati ileri veya geri ise tarayıcı sertifikayı geçersiz sayar.
- Eski tarayıcı sürümü: Eski sürümler yeni şifreleme standartlarını (örneğin TLS 1.3) desteklemeyebilir.
- SSL önbelleği: Tarayıcının güvenlik önbelleğindeki bozuk veriler.
- Antivirüsler ve güvenlik duvarları: Koruma yazılımları genellikle HTTPS trafiğini kontrol etmek için ele geçirir ve sertifikayı kendi sertifikalarıyla değiştirir; bu da güven hatasına yol açar.
Sunucu tarafındaki başlıca nedenler:
- Süresi dolmuş sertifika: Geçerlilik süresi doldu ve yenilenmedi.
- Güven zinciri bozuldu: Ara sertifika eksik.
- Alan adı uyumsuzluğu: Sertifika
example.comiçin verilmiş ancak kullanıcıwww.example.comadresine (veya tam tersi) giriyor ve bu durum SAN kayıtlarında belirtilmemiş. - Eski protokoller: Sunucu yalnızca modern tarayıcılarda engellenen TLS 1.0 veya 1.1 kullanıyor.
Kullanıcılar için hızlı çözümler
Site yöneticisine başvurmadan önce aşağıdaki adımları uygulayın. Sorun yerel olduğunda bu adımlar vakaların %80'inde işe yarar.
1. Tarih ve saati kontrol edin
Bu en yaygın ve fark edilmesi en zor nedendir.
- Görev çubuğundaki (Windows) veya durum çubuğundaki (macOS/Linux) saate bakın.
- Yıl, ay ve günün doğru olduğundan emin olun.
- Sistem ayarlarında «Saati otomatik ayarla» ve «Saat dilimini otomatik ayarla» seçeneklerini etkinleştirin.
2. SSL önbelleğini ve tarayıcı verilerini temizleyin
Birikmiş veriler eski sertifika bilgileri içerebilir.
Google Chrome / Yandex.Browser / Edge için:
Ctrl + Shift + Delete(Windows) veyaCmd + Shift + Delete(macOS) tuşlarına basın.- «Tüm zamanlar» aralığını seçin.
- «Çerezler ve diğer site verileri» ile «Önbelleğe alınan resimler ve diğer dosyalar» kutucuklarını işaretleyin.
- «Verileri temizle» düğmesine tıklayın.
Mozilla Firefox için:
Ayarlar→Gizlilik ve Güvenlikbölümüne gidin.- «Sertifikalar» bölümünde
Sertifikaları Görüntüledüğmesine tıklayın. - «Sunucular» sekmesinden listeyi temizleyebilirsiniz ancak en kolayı
Ayarlar→Gizlilik ve Güvenlik→Çerezler ve site verileri→Verileri Temizleyoluyla önbelleği tamamen temizlemektir.
3. Gizli modu deneyin
Siteyi özel pencerede açın (Ctrl + Shift + N veya Cmd + Shift + N).
- Site açıldıysa: Sorun tarayıcı uzantılarında veya önbellektedir. Suçluyu bulmak için uzantıları tek tek devre dışı bırakın (özellikle reklam engelleyiciler ve VPN'ler).
- Hata devam ediyorsa: Sorun daha derindir (sistem ayarları, antivirüs veya sunucu).
Üçüncü taraf bir antivirüs (Kaspersky, ESET, Avast vb.) yüklüyse ayarlarında «Güvenlik Duvarı» veya «Web Kontrolü» bölümünü bulun ve «Güvenli bağlantıları kontrol et (HTTPS)» veya «HTTPS Filtreleme» işlevini geçici olarak devre dışı bırakın. Bu genellikle sorunu anında çözer.
Site sahipleri için hata düzeltme (Yöneticiler)
Hatanın tüm kullanıcılar tarafından görülmesi durumunda sorun web sunucusu yapılandırmasındadır.
1. Sertifika durumunun kontrol edilmesi
Sorunu teşhis etmek için harici araçları (örneğin SSL Labs veya benzeri kontrol araçları) kullanın.
- «Expired» (Süresi Dolmuş) durumu: Sertifikayı acilen yeniden yayınlayın. Let's Encrypt kullanıyorsanız
certbot renewdaemon'unun veya otomatik cron görevlerinin çalışıp çalışmadığını kontrol edin. - «Chain issues» (Zincir sorunları) durumu: Sunucuya yalnızca kendi sertifikanızın değil, aynı zamanda sertifika yetkilisinin ara (intermediate) sertifikalarının da yüklendiğinden emin olun. Sertifika dosyası tam zinciri içermelidir.
2. TLS protokollerinin güncellenmesi
Modern tarayıcılar (Chrome, Safari, Firefox) TLS 1.0 ve 1.1 desteğini tamamen kaldırdı.
Nginx için:
nginx.conf yapılandırma dosyasında veya server bloğunda yönergenin şu şekilde olduğundan emin olun:
ssl_protocols TLSv1.2 TLSv1.3;
Buradan TLSv1 ve TLSv1.1 ifadelerini kaldırın. Değişikliklerden sonra sunucuyu yeniden yükleyin: sudo systemctl reload nginx.
Apache için:
ssl.conf dosyasında veya sanal host yapılandırmasında:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Apache'yi yeniden başlatın: sudo systemctl restart apache2.
3. Alan adı uyumluluğunun kontrol edilmesi
Sertifikanın tam olarak adres çubuğunda belirtilen alan adı için verildiğinden emin olun.
- Sertifika
domain.comiçinse ve sitewww.domain.comüzerinden açılıyorsa sertifika yayınlama sırasında her iki varyantı da SAN (Subject Alternative Name) listesine ekleyin. - Kullanıcının her zaman sertifikada belirtilen adrese ulaşmasını sağlamak için bir varyanttan diğerine yönlendirme ayarlayın (genellikle www'den www olmayan versiyona veya tam tersi).
Popüler hata kodlarının karşılaştırılması
| Hata Kodu | Olası Neden | Çözüm |
|---|---|---|
ERRCERTDATE_INVALID | PC'de yanlış saat veya süresi dolmuş sertifika | Saatleri senkronize edin veya sertifikayı güncelleyin |
ERRCERTAUTHORITY_INVALID | Kendinden imzalı sertifika veya bilinmeyen CA | Güvenilir bir CA'dan (Let's Encrypt, Comodo vb.) sertifika yükleyin |
ERRSSLVERSIONORCIPHER_MISMATCH | Sunucuda eski TLS protokolleri | TLS 1.2 ve 1.3'ü etkinleştirin, eski sürümleri devre dışı bırakın |
ERRCERTCOMMONNAMEINVALID | Alan adı sertifikadaki isimle eşleşmiyor | Doğru CN/SAN ile sertifika yayınlayın |
Kendi başınıza düzeltirken yapılan yaygın hatalar
- Uyarının görmezden gelinmesi. Siteyi güvenlik istisnalarına eklemek («Yine de devam et») bağlantıyı Man-in-the-Middle saldırılarına karşı savunmasız hale getirir. Bu yöntemi yalnızca yerel test sunucuları için kullanın.
- Kısmi önbellek temizliği. Bazen yalnızca resimlerin değil, önbelleğin ve çerezlerin tamamen temizlenmesi gerekir.
- Unutulan ara sertifika. Yöneticiler genellikle yalnızca alan adının
.crtdosyasını yükler vebundleveyachaindosyasını eklemeyi unutur. Bu olmadan mobil tarayıcılar ve bazı masaüstü istemciler kimlik doğrulamasını yapamaz. - CDN çakışması. Site Cloudflare veya başka bir CDN üzerinden çalışıyorsa SSL ayarlarında doğru modun (genellikle «Full» veya «Full Strict») seçildiğinden ve CDN tarafındaki sertifikanın geçerli olduğundan emin olun.
SSS
Hata neden yalnızca bir tarayıcıda ortaya çıkıyor? Büyük olasılıkla sorun o belirli tarayıcının önbelleğinde veya ağ isteklerine müdahale eden yüklü bir uzantıdadır. Önbelleği temizlemeyi veya uzantıları devre dışı bırakmayı deneyin.
SSL hatası olan bir siteye şifre girmek güvenli midir? Hayır. Hata, iletişim kanalının bütünlüğünün ve gizliliğinin garanti edilmediği anlamına gelir. Saldırgan verileri ele geçirebilir.
Sertifikanın süresi henüz dolmamışsa ama hata varsa ne yapılmalı? Cihazınızdaki sistem saatini kontrol edin. Ayrıca sertifikanın sertifika yetkilisi tarafından iptal edilmiş olması da mümkündür (CRL/OCSP listesinin revizyonu). Sorunu lokalize etmek için siteyi başka bir cihazdan (örneğin mobil internet üzerinden akıllı telefondan) açmayı deneyin.
Sitemde TLS 1.3'ün desteklenip desteklenmediğini nasıl kontrol ederim? SSL analizi yapan çevrimiçi hizmetleri kullanın. Raporda desteklenen protokollerin listesi belirtilecektir. TLS 1.3 eksikse web sunucusu yapılandırmasını güncelleyin ve kullandığınız OpenSSL sürümünün bu protokolü desteklediğinden emin olun (OpenSSL 1.1.1 ve üzeri).