Generate secure TLS/SSL configurations for Nginx, Apache, HAProxy, and Caddy. Based on Mozilla's recommended settings. 100% client-side.
Choose your server and security level
TLS 1.2 + 1.3. Best balance of security and compatibility.
Protocols: TLSv1.2, TLSv1.3
Compatibility: Firefox 27+, Chrome 31+, Safari 9+, Edge 12+, Android 5+, iOS 9+
Ready to paste into your nginx.conf
# Nginx TLS Configuration # Security Level: Intermediate (Grade A) # Generated by WebGuarder — 2026-03-14 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256'; ssl_prefer_server_ciphers on; ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; # Diffie-Hellman parameter (generate with: openssl dhparam -out /etc/nginx/dhparam.pem 2048) ssl_dhparam /etc/nginx/dhparam.pem; # OCSP Stapling ssl_stapling on; ssl_stapling_verify on; resolver 1.1.1.1 8.8.8.8 valid=300s; resolver_timeout 5s; # HSTS (63072000 seconds = 2 years) add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
Enabled cipher suites for this configuration
TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_GCM_SHA256ECDHE-ECDSA-AES256-GCM-SHA384ECDHE-RSA-AES256-GCM-SHA384ECDHE-ECDSA-CHACHA20-POLY1305ECDHE-RSA-CHACHA20-POLY1305ECDHE-ECDSA-AES128-GCM-SHA256ECDHE-RSA-AES128-GCM-SHA256DHE-RSA-AES256-GCM-SHA384DHE-RSA-AES128-GCM-SHA256Transport Layer Security (TLS) encrypts data between your server and visitors. Proper configuration is critical — weak settings can expose your users to man-in-the-middle attacks, downgrade attacks, and data interception.
openssl s_clientnmap --script ssl-enum-ciphers