Penyebab Utama SSL Handshake Failed
Error SSL Handshake pada Nginx umumnya terjadi karena ketidakcocokan protokol antara klien (browser) dan server, sertifikat yang tidak valid, atau konfigurasi cipher suite yang terlalu ketat. Masalah ini muncul saat proses negosiasi enkripsi gagal sebelum koneksi HTTPS terbentuk sepenuhnya.
Langkah Perbaikan Konfigurasi Nginx
Pastikan file konfigurasi Nginx Anda (biasanya di /etc/nginx/sites-available/) memiliki parameter SSL yang modern dan kompatibel. Gunakan blok kode berikut sebagai standar konfigurasi yang aman:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Protokol yang disarankan
ssl_protocols TLSv1.2 TLSv1.3;
# Cipher suite yang aman
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}Tabel Diagnosa Masalah SSL
| Gejala | Penyebab Umum | Tindakan Perbaikan |
|---|---|---|
| Handshake Timeout | Firewall memblokir port 443 | Cek ufw/iptables atau security group cloud |
| Protocol Version Mismatch | Klien menggunakan TLS 1.0/1.1 | Update library OpenSSL atau izinkan protokol lama |
| Certificate Verify Failed | Chain sertifikat tidak lengkap | Pastikan file fullchain.pem mencakup CA intermediate |
| Cipher Mismatch | Cipher tidak didukung browser | Tambahkan cipher suite standar modern |
Langkah Troubleshooting Lapangan
- Verifikasi Sintaks: Jalankan
nginx -tuntuk memastikan tidak ada kesalahan penulisan dalam file konfigurasi. - Reload Nginx: Terapkan perubahan dengan perintah
systemctl reload nginx. - Cek Log Error: Periksa file log di
/var/log/nginx/error.loguntuk melihat pesan spesifik mengapa handshake gagal. - Uji dengan OpenSSL: Gunakan perintah
openssl s_client -connect domain.com:443untuk melihat detail negosiasi sertifikat secara real-time.
Jika masalah berlanjut, pastikan waktu sistem (system clock) pada server Anda akurat, karena perbedaan waktu yang signifikan dapat menyebabkan validasi sertifikat SSL gagal total.
🔍 Orang Lain Juga Mencari Ini
Nginx Ssl Handshake Failed
Nginx Ssl_protocols Configuration
Fix Ssl Certificate Error Nginx
Nginx Ssl_ciphers Best Practice
Openssl S_client Debug
Nginx Error Log Ssl Handshake
Tls 1.3 Nginx Configuration
Ssl Certificate Chain Incomplete Nginx
Nginx Https Setup Guide
Troubleshoot Nginx Ssl
Nginx Ssl_session_cache
Ssl Handshake Timeout Nginx
Nginx Server Block Ssl
Letsencrypt Nginx Configuration
Nginx Security Headers