🔐 SSL Protokol Hatası Çözümü – Ubuntu ve Linux Sunucular İçin Kapsamlı Rehber
HTTPS bağlantılarında görülen SSL/TLS protokol hataları, kullanıcıların web sitenize erişmesini tamamen engelleyebilir. Bu rehber, özellikle Ubuntu ve diğer Linux sunucularında sık karşılaşılan SSL hatalarını kök nedenleriyle analiz ederek, hem sunucu hem tarayıcı tarafında kalıcı çözümler üretmenizi sağlar.
Bu içerik; modern TLS yapılandırmaları, güçlü cipher setleri, eksiksiz sertifika zinciri kurulumu ve pratik teşhis komutlarıyla donatılmıştır.
🚀 Bu Rehber Size Ne Kazandıracak?
- Yaygın SSL/TLS hata tiplerini tanıyacaksınız
- Sunucu tarafındaki protokol uyumsuzluklarını teşhis edeceksiniz
- Nginx ve Apache’de modern TLS yapılandırmalarını uygulayacaksınız
- Sertifika zinciri (CA – Intermediate – Leaf) sorunlarını çözebileceksiniz
- Tarayıcı tarafındaki SSL sorunlarını gidermeyi öğreneceksiniz
🛠️ Gereksinimler
Bu rehberi uygulamak için aşağıdakilere sahip olmanız yeterlidir:
- Ubuntu / Debian / Linux sunucu
- Root veya sudo yetkisi
- Alan adının IP’ye doğru yönlendirilmiş olması
- Komut satırında temel seviye hakimiyet
- SSL/TLS kavramlarına giriş düzeyinde bilgi
🔥 1. En Yaygın SSL Protokol Hataları
Aşağıdaki tablo, en sık görülen SSL sorunlarını ve doğrudan uygulayabileceğiniz çözümleri özetler.
Bu bölüm hem SEO hem kullanıcı deneyimi için optimize edilmiştir:
| Hata Tipi | Temel Sebep | Hızlı Çözüm |
|---|---|---|
| ERR_SSL_CERTIFICATE_INVALID | Sertifika süresi dolmuş, domain eşleşmiyor, zincir eksik | Sertifikayı yenile, CN/SAN kontrol et, CA zincirini ekle |
| ERR_SSL_PROTOCOL_ERROR | Sunucu eski TLS sürümü sunuyor | TLS 1.2 ve 1.3’ü zorunlu kıl |
| ERR_SSL_HANDSHAKE_FAILURE | Zayıf cipher, eksik intermediate, sürüm çatışması | Güçlü cipher seti ve tam zincir kullan |
| ERR_SSL_NO_CYPHER_OVERLAP | İstemci ile sunucu ortak algoritmada anlaşamıyor | Modern AES-GCM/CHACHA20 cipher’larına geç |
| Saat Hatası | Sistem saati yanlış | NTP senkronizasyonu yap |
| DNS Uyuşmazlığı | Yanlış A kaydı, cache sorunu | DNS yenile, hosts kontrolü yap |
🔍 2. SSL Protokol Hataları Nasıl Oluşur?
SSL/TLS handshake şu adımları içerir:
- İstemci Merhaba (ClientHello)
- Sunucu Merhaba (ServerHello)
- Sertifika iletimleri
- Şifreleme anahtarlarının oluşturulması
- Güvenli kanalın kurulması
Bu aşamalarda yaşanan her türlü uyumsuzluk protokol hatasına neden olur.
Başlıca sebepler:
- Eski SSL/TLS sürümleri (TLS 1.0 / 1.1)
- Eksik intermediate CA
- Yanlış yapılandırılmış cipher seti
- Hatalı hostname veya SAN değerleri
- Sertifika süresinin dolması
- Proxy / DPI müdahalesi
🧪 3. Teşhis Araçlarını Kurma
3.1 📦 Paket listesini güncelleyin
sudo apt update
3.1 🔑 OpenSSL yükleyin
sudo apt install openssl
3.2 🌐 curl yükleyin
sudo apt install curl
3.3 🔍 nmap yükleyin
sudo apt install nmap
🧪 4. Sunucu Tarafı Teşhis Adımları
✔️ 4.1 SSL Bağlantısını Test Edin
openssl s_client -connect your-domain.com:443 -servername your-domain.com
Bu komut handshake aşamalarını ve sertifika zincirini detaylı gösterir.
Eğer şu hatayı görürseniz:
verify error:num=20:unable to get local issuer certificate
Bu, eksik intermediate sertifikası anlamına gelir.
Çözüm: fullchain.pem dosyasını yükleyin.
✔️ 4.2 TLS Sürüm Desteğini Test Edin
4.2.1 TLS 1.3 test:
openssl s_client -connect your-domain.com:443 -tls1_3
Eğer handshake fail oluyorsa → Sunucu TLS 1.3 desteklemiyor.
✔️ 4.3 Sertifika Geçerlilik Süresini Kontrol Edin
openssl s_client -connect your-domain.com:443 | openssl x509 -noout -dates
🏗️ 5. Sunucu Tarafı Modern TLS Yapılandırması
✔️ 5.1 Nginx için önerilen yapılandırma
server {
listen 443 ssl http2;
server_name your-domain.com;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers
ECDHE-RSA-AES256-GCM-SHA384:
ECDHE-RSA-AES128-GCM-SHA256:
ECDHE-ECDSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
}
5.2 Test ve reload:
sudo nginx -t
sudo systemctl reload nginx
✔️ 5.2 Apache için önerilen yapılandırma
apache
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 +TLSv1.2 +TLSv1.3
SSLCipherSuite \
ECDHE-RSA-AES128-GCM-SHA256:\
ECDHE-RSA-AES256-GCM-SHA384:\
ECDHE-ECDSA-CHACHA20-POLY1305
🔐 6. Cipher Suite Sorunlarını Çözme
6.1 Desteklenen cipher listesini görün:
nmap --script ssl-enum-ciphers -p 443 your-domain.com
Modern set → AES-GCM + CHACHA20 karışık destek sunar.
🌐 7. Tarayıcı (İstemci) Tarafı Çözümleri
HTTPS URL kontrolü
-
Tarayıcı önbelleğini temizleyin
-
SSL state temizleyin (Windows)
-
Sistem saatini kontrol edin
-
VPN/Proxy devre dışı bırakın
-
Farklı tarayıcıyla test edin
🙋♂️ 8. SSS – Sıkça Sorulan Sorular
1. SSL protokol hatası neden oluşur? En yaygın sebepler: eski TLS sürümleri, eksik CA zinciri, sertifika uyuşmazlığı ve cipher çatışmasıdır.
2. Sertifika süresi bittiğinde ne olur? Tarayıcılar sertifikayı reddeder ve siteye giriş imkansız hale gelir.
3. TLS 1.0 / 1.1 neden kapatılır? Bu sürümler güvenli değildir ve artık tüm modern tarayıcılar tarafından reddedilmektedir.
4. Sertifika zinciri neden önemlidir? Eksik intermediate, tarayıcıların sertifikayı doğrulamasını engeller.
🎯 Sonuç
Bu rehberle SSL/TLS protokol hatalarını hem sunucu hem istemci tarafında adım adım çözecek bilgiye sahipsiniz. Güçlü cipher setleri, modern TLS sürümleri ve eksiksiz sertifika zinciri sayesinde HTTPS bağlantılarınız hem hızlı hem güvenli olur.
Güvenli ve optimize altyapılar için tüm bu yapılandırmaları Rabisu Bulut üzerinde rahatça uygulayabilirsiniz.