ERR_SSL_VERSION_OR_CIPHER_MISMATCH hatası: nedenleri ve çözümü
Tarayıcı güvenli bağlantı kuramıyor: eski TLS sürümleri, uyumsuz şifreler, eksik sertifika ve yanlış sanal sunucu ayarlarını nasıl bulup düzeltirsiniz?
Rehberler · 3 dk okuma
Tarayıcıda “Bu siteye güvenli bir bağlantı kurulamıyor” ve altında ERR_SSL_VERSION_OR_CIPHER_MISMATCH yazıyorsa tarayıcı ile sunucu ortak bir güvenli iletişim biçimi (TLS sürümü ve şifre paketi) üzerinde anlaşamamıştır. Çoğu zaman sorun sunucu tarafındadır ve düzeltilebilir.
Olası nedenler
| Neden | Açıklama |
|---|---|
| Eski TLS sürümleri | Sunucu yalnızca TLS 1.0/1.1 sunuyor; modern tarayıcılar en az TLS 1.2 ister |
| Eski şifre paketleri | RC4, 3DES gibi artık güvensiz kabul edilen şifreler |
| SSL kurulu değil | Alan adı için sertifika yok; sunucu başka bir alan adının sertifikasını sunuyor |
| Yanlış port / sanal sunucu | 443 portunda HTTPS yerine HTTP yanıt veriliyor ya da SSL etkin değil |
| CDN/proxy uyumsuzluğu | CDN ile kaynak sunucu arasındaki SSL modu uyuşmuyor |
| Çok eski istemci | Eski işletim sistemi/tarayıcı yeni sertifika ve şifreleri tanımıyor |
1. Sorunun sizde mi sunucuda mı olduğunu anlayın
- Siteyi başka bir tarayıcıdan ve başka bir cihazdan açın. Yalnızca eski bir cihazda sorun varsa istemci güncellenmelidir.
- Sistem saatinin doğru olduğundan emin olun; yanlış saat güvenli bağlantıları bozar.
2. Sunucuyu komut satırından test edin
openssl s_client -connect alanadiniz.com:443 -servername alanadiniz.com
openssl s_client -connect alanadiniz.com:443 -servername alanadiniz.com -tls1_2
Bağlantı kurulamıyor ya da sertifika görünmüyorsa SSL doğru yapılandırılmamıştır. Çevrimiçi “SSL test” araçları desteklenen TLS sürümlerini ve şifreleri ayrıntılı gösterir.
3. Hosting kullanıyorsanız
- Hosting kontrol panelinde alan adı için bir SSL sertifikasının kurulu olduğunu doğrulayın; yoksa ücretsiz sertifikayı alın.
wwwvewww’süz adreslerin ikisinin de sertifikada olduğundan emin olun.- Alan adının DNS kaydının doğru sunucuyu gösterdiğini kontrol edin (bkz. DNS kayıtları).
4. Kendi sunucunuzu yönetiyorsanız
Modern bir yapılandırma yalnızca TLS 1.2 ve 1.3’ü sunar.
Nginx:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
Apache:
SSLProtocol -all +TLSv1.2 +TLSv1.3
Yapılandırmayı test edip yeniden yükleyin:
sudo nginx -t && sudo systemctl reload nginx
sudo apachectl configtest && sudo systemctl reload apache2
Ayrıca sunucu bloğunda 443 için listen 443 ssl; (Nginx) ya da <VirtualHost *:443> ve SSLEngine on (Apache) bulunduğundan emin olun. Ters proxy kullanıyorsanız sertifikayı otomatik yöneten Caddy bu hataların çoğunu ortadan kaldırır.
5. CDN veya proxy kullanıyorsanız
CDN’deki SSL modunu kaynak sunucunuzun durumuna uygun seçin: kaynakta geçerli sertifika varsa tam doğrulamalı mod, yoksa önce kaynakta sertifika kurun. Kaynağa da HTTPS ile bağlanılıyorsa kaynağın TLS sürümlerini yukarıdaki gibi güncel tutun.
6. Sertifika yenilemeyi kontrol edin
Süresi dolmuş sertifika farklı bir hata verir, ancak otomatik yenileme başarısız olduysa sunucu eski/eksik sertifikayla yanıt verebilir. Ücretsiz sertifika kullanıyorsanız alan adının DNS’inin doğru olduğundan ve 80/443 portlarının açık olduğundan emin olun.
Hâlâ çözemediniz mi?
Destek talebi açın; alan adınızı, hatanın ekran görüntüsünü ve openssl s_client çıktısını ekleyin.