What is the difference between Modern, Intermediate, and Old?
Modern (TLS 1.3 only) is for sites whose visitors run modern browsers and OSes — drops everything older, gives the strongest cryptography and shortest handshakes. Intermediate (TLS 1.2 + 1.3, default) keeps compatibility with all browsers from 2014 onwards and is the right choice for almost every public website. Old (TLS 1.0+) is only for sites that must support Windows XP IE8 or Android 2.3 — virtually obsolete in 2026.
Should I disable TLS 1.0 and 1.1?
Yes. TLS 1.0 (1999) and 1.1 (2006) are deprecated by the IETF (RFC 8996) and disabled by every major browser since 2020. PCI-DSS 3.2 requires TLS 1.2+. Leaving them enabled does not help any real client and exposes the server to BEAST and CRIME attack variants. Pick Intermediate or Modern profile and they are turned off automatically.
What is HSTS preload?
HSTS (HTTP Strict Transport Security) tells browsers to never use plain HTTP for your domain. The preload list is a hardcoded list shipped with Chrome, Firefox, Safari, and Edge — submit your domain at hstspreload.org and browsers will refuse HTTP from the very first visit (no leak window). Required header: max-age >= 31536000, includeSubDomains, preload. Be sure all subdomains are HTTPS-ready before submitting.
What is OCSP stapling?
When a browser validates a certificate, it must check the CA’s revocation status. Without stapling the browser hits the CA’s OCSP responder on every connection — slow and a privacy leak. With stapling, the server periodically fetches a signed OCSP response and includes it in the TLS handshake itself. Result: faster handshakes, no third-party request, and revocation actually checked (Chrome no longer enforces OCSP without stapling). Enable it.
How do I test my SSL configuration?
Two free scanners cover everything: SSL Labs (ssllabs.com/ssltest) gives a letter grade and lists protocol/cipher/handshake issues. Mozilla Observatory (observatory.mozilla.org) checks HSTS, security headers, and TLS together. For local quick checks, use openssl s_client -connect host:443 -servername host -tls1_3 to confirm a specific protocol negotiates, and testssl.sh for a full offline scan.
What ciphers does TLS 1.3 use?
TLS 1.3 has only five built-in cipher suites: TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_AES_128_CCM_SHA256, TLS_AES_128_CCM_8_SHA256. Selection happens automatically — there is no equivalent of ssl_ciphers for the TLS 1.3 layer. nginx ssl_ciphers and Apache SSLCipherSuite only affect the TLS 1.2 layer; TLS 1.3 ignores them.
Do I need ssl_dhparam?
Only if you enable a DHE (Diffie-Hellman Ephemeral) cipher suite. The Intermediate and Old profiles include DHE-RSA-AES* ciphers as a fallback for clients that lack ECDHE — for those clients, ssl_dhparam controls the DH group size (2048+ recommended; smaller is vulnerable to Logjam). Modern profile is TLS 1.3 only and uses fixed safe groups, so dhparam is not needed.
How do I redirect HTTP to HTTPS?
Enable the toggle and the generator adds a port-80 server block that returns 301 to the HTTPS URL — nginx uses return 301 https://$host$request_uri, Apache uses Redirect permanent, HAProxy uses http-request redirect scheme https. Pair the redirect with a long HSTS max-age so subsequent visits skip HTTP entirely.