Nginx 'SSL Handshake Failed' Hatası Nasıl Çözülür? Adım Adım Rehber

Bu blog yazısında, Nginx sunucusunda karşılaşılan 'SSL Handshake Failed' hatasının nedenleri ve çözüm adımları detaylı bir şekilde açıklanmıştır. SSL sertifikası, Nginx konfigürasyonu, sistem saati ve güncellemeler gibi temel konulara odaklanarak, bu yayg

BFS

Bir sabah, yeni bir web sitesinin yayına girmesi için heyecanla tüm ayarları yapıyordunuz. SSL sertifikasını başarıyla yüklediniz ve tüm her şey yolunda gibi görünüyordu. Ama o da ne? Kullanıcılar web sitenize giremiyor! Karşınıza çıkan hata mesajı: SSL Handshake Failed. Bu mesajı gördüğünüzde ne yapmanız gerektiği konusunda panik yapmayın! Çünkü bu hatanın çözümü aslında oldukça basit ve adım adım ilerleyerek kolayca çözebilirsiniz.

Bu yazıda, Nginx sunucusunda karşılaşılan ‘SSL Handshake Failed’ hatasının nedenlerini ve nasıl çözülebileceğini detaylı bir şekilde açıklayacağım. Hazırsanız, başlayalım!

1. SSL Sertifikası Kontrolü


İlk olarak, SSL sertifikanızın doğru bir şekilde yüklenip yüklenmediğini kontrol edin. Genellikle, SSL Handshake Failed hatasının en yaygın nedeni yanlış veya eksik SSL sertifikasıdır.

SSL sertifikasını doğru bir şekilde yükleyip yüklemediğinizi anlamak için, aşağıdaki komutla sunucunuza bağlanın:
openssl s_client -connect yourdomain.com:443


Eğer sertifika düzgün yüklenmişse, SSL handshake başarılı olmalıdır ve size sertifika bilgilerini gösterecektir. Eğer sertifika hatalıysa veya eksikse, doğru bir sertifika yüklemek için adımları takip etmeniz gerekebilir.

2. Nginx Konfigürasyonunu Kontrol Edin


SSL hataları bazen yanlış Nginx konfigürasyonları nedeniyle de ortaya çıkabilir. Özellikle, ssl_protocols ve ssl_ciphers gibi parametrelerin doğru ayarlandığından emin olmalısınız.

Nginx konfigürasyon dosyanızı (genellikle /etc/nginx/nginx.conf veya /etc/nginx/sites-available/default) açın ve aşağıdaki ayarları kontrol edin:


server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
}


Burada dikkat etmeniz gereken birkaç şey var:
- ssl_protocols: SSL/TLS protokollerinin sürümünü belirtir. TLS 1.2 ve TLS 1.3, şu anda en güvenli seçeneklerdir.
- ssl_ciphers: Güçlü şifreleme algoritmalarını belirtir. Güvenlik açısından, eski ve zayıf şifreleme algoritmalarını dışarıda bırakmalısınız.

Değişiklik yaptıktan sonra, Nginx'i yeniden başlatmayı unutmayın:
sudo systemctl restart nginx


3. Sunucu Zaman Ayarlarını Kontrol Edin


SSL/TLS bağlantıları, zaman dilimi ve sistem saati ile doğrudan ilişkilidir. Sunucunuzun saatinin doğru ayarlandığından emin olun. Eğer sunucu saati yanlışsa, SSL sertifikası geçersiz olabilir ve SSL Handshake Failed hatası alabilirsiniz.

Sunucu saatini kontrol etmek için şu komutu kullanabilirsiniz:
date


Eğer saat yanlışsa, zaman diliminizi düzeltmek için şu komutu kullanabilirsiniz:
sudo timedatectl set-timezone Europe/Istanbul


4. OpenSSL ve Nginx Güncellemelerini Yapın


Bazen eski yazılımlar, SSL/TLS bağlantılarında uyumsuzluk yaratabilir. OpenSSL ve Nginx'in güncel sürümlerini kullandığınızdan emin olun. Yeni sürümler genellikle güvenlik açıklarını kapatır ve uyumluluk sorunlarını giderir.

Nginx ve OpenSSL’i güncellemek için aşağıdaki komutları kullanabilirsiniz:
sudo apt update
sudo apt upgrade nginx openssl


Güncellemeleri yaptıktan sonra, Nginx'i yeniden başlatmayı unutmayın:
sudo systemctl restart nginx


5. Firewall ve Ağ Ayarlarını Kontrol Edin


SSL bağlantılarında bazen firewall veya ağ yapılandırmaları nedeniyle sorunlar yaşanabilir. Port 443 (HTTPS) açık olduğundan emin olun ve ağ üzerinden gelen bağlantıların düzgün şekilde yönlendirildiğini kontrol edin.

Aşağıdaki komutla, 443 portunun açık olup olmadığını kontrol edebilirsiniz:
sudo ufw allow 443/tcp


6. Tarayıcı Önbelleğini Temizleyin


Bazen SSL hataları, tarayıcı önbelleğinden kaynaklanabilir. Tarayıcıda eski sertifika bilgileri kalmış olabilir. Tarayıcı önbelleğini temizlemek, bu tür hataları ortadan kaldırabilir.

Tarayıcı önbelleğini temizlemek için, tarayıcı ayarlarına gidip geçmişi temizleyin veya geliştirici araçları ile önbelleği sıfırlayın.

Sonuç olarak


‘SSL Handshake Failed’ hatası, genellikle basit yapılandırma hatalarından kaynaklanır. Yukarıdaki adımları izleyerek sorunu kolayca çözebilirsiniz. SSL sertifikalarınızı doğru şekilde yüklemek, Nginx konfigürasyonlarını kontrol etmek, sistem saatini düzeltmek ve gerektiğinde yazılım güncellemelerini yapmak bu hatayı çözmek için en etkili yollardır.

Unutmayın, güvenli bir bağlantı sağlamak için SSL/TLS her zaman önemlidir. Web sitenizi güvence altına alarak kullanıcılarınızın güvenini kazanabilirsiniz. SSL hatalarını çözmek ise yalnızca bir başlangıç! Web güvenliğiniz için daha pek çok önlem alabilirsiniz. Şimdi, doğru ayarları yaparak SSL Handshake Failed hatasından kurtulun ve web sitenizin keyfini çıkarın!

İlgili Yazılar

Benzer konularda diğer yazılarımız

Web Güvenliğini Arttırmak İçin 2025'te Kullanılacak 10 Yeni Yöntem

Web güvenliği her geçen yıl daha da önemli bir konu haline geliyor. Özellikle 2025’e yaklaştıkça, hacker’lar sürekli yeni yöntemler geliştirirken, biz de onları durdurmanın yollarını arıyoruz. İnternetin büyümesiyle birlikte, her web sitesi sahibi kendini...

Web Sitesi Güvenliğini Arttırmak İçin 2025'te Kullanılması Gereken En İyi 5 SSL Sertifikası Seçeneği

Web sitesi güvenliği, dijital dünyada birinci öncelik haline geldi. Kullanıcı bilgilerini korumak, marka güvenilirliğini artırmak ve web sitenizin arama motorlarında üst sıralarda yer almasını sağlamak için doğru SSL sertifikasını seçmek çok önemlidir....

Web Sitenizi Güçlendirmek İçin En İyi 7 WordPress Güvenlik Eklentisi ve Neden Kullanmalısınız?

---Web Sitenizi Güçlendirmek İçin En İyi 7 WordPress Güvenlik Eklentisi ve Neden Kullanmalısınız?Web sitesi yöneticisi olmanın en zorlayıcı yönlerinden biri, site güvenliğini sağlamaktır. Özellikle WordPress gibi popüler platformlarda, sitenizi kötü niyetli...