Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

TLS / SSL Server Config Generator

TLS settings written for your exact server and OpenSSL versions, from proven profiles.

Free preview, no sign-upIncluded in your pass Pro tool Pro pass: ₹179 / $5.99 for 30 days On this device: nothing is sent
+3 +1 more details No uploadWorks offline once opened Security

Free preview: the profile summary, the checks for your versions and the test commands in full, with the first lines of the configuration (up to 20). Locked until you unlock it: download and copy.

Pro pass ₹179 for 30 days or ₹79 for 1 week, one‑time. Pro pass $5.99 for 30 days or $2.99 for 1 week, one‑time. How to unlock

Try before you buy.

  • Free preview: the profile summary, the checks for your versions and the test commands in full, with the first lines of the configuration (up to 20).
  • Locked until you unlock it: download and copy.
  • Unlock: Pro pass, ₹179 for 30 days or ₹79 for 1 week, a one-time payment that never renews. Unlock: Pro pass, $5.99 for 30 days or $2.99 for 1 week, a one-time payment that never renews.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

Your server

From openssl version (or the version your server was built with).

Profile
Options

Your TLS configuration

Protocols
TLS 1.2 cipher suites
Key exchange
Certificate
Oldest clients
     

    Then check it

      Check the certificate itself with the SSL Certificate Checker.

      Profiles from the Server Side TLS guidelines (Mozilla, now TLSRef; guidelines (opens in a new tab)), their data under the Mozilla Public License 2.0.

      Next steps Done. What next?

      Start over

      A Pro pass unlocks the full result. See passes

      All security & privacy tools

      About the TLS / SSL Server Config Generator

      Picking TLS protocols, cipher suites and key-exchange groups by hand is how servers end up with TLS 1.0 still on, or with a setting their software version does not understand. This page writes the TLS part of your server’s configuration from the Server Side TLS profiles — the recommendations Mozilla published and the TLSRef project now maintains — for the exact software and OpenSSL version you run.

      Choose nginx, Apache, HAProxy, Caddy, Traefik, lighttpd, Postfix, Dovecot or a Go program, enter the versions and pick a profile: Modern (TLS 1.3 only), Intermediate (TLS 1.2 and 1.3, the usual choice) or Old (TLS 1.0 and up, for clients you cannot upgrade). The page uses only what your versions support: TLS 1.3 needs OpenSSL 1.1.1, the post-quantum hybrid group X25519MLKEM768 needs OpenSSL 3.5, nginx switches HTTP/2 on with http2 on from 1.25.1, HAProxy and Postfix changed their syntax over the years, Dovecot renamed its settings in 2.4. It adds HSTS and the http-to-https redirect where they belong, and says what to test.

      Without a pass you see a free preview: the profile summary, the checks for your versions and the test commands in full, with the first lines of the configuration. The whole configuration, and copying or downloading it, unlock with a Pro pass.

      How to use it

      1. Choose your server software and enter its version (the page shows the command that prints it, such as nginx -v).
      2. For servers that use OpenSSL, enter the OpenSSL version from openssl version on the same machine.
      3. Pick a profile: Intermediate unless every client is recent (Modern) or you must serve very old ones (Old).
      4. Choose HSTS, the redirect from http and OCSP stapling, and enter your host name.
      5. Read the checks, then with a pass, or once this result is unlocked, copy or download the configuration; the free preview shows its first lines. Merge it into your configuration, run the check command shown, and test the live server.

      Examples

      nginx 1.27 with OpenSSL 3.0, Intermediate
      Result
      ssl_protocols TLSv1.2 TLSv1.3;
      ssl_ecdh_curve X25519:prime256v1:secp384r1;
      ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:…;
      ssl_prefer_server_ciphers off;
      …
      listen 443 ssl;
      http2 on;

      OpenSSL 3.0 has no ML-KEM, so X25519MLKEM768 is left out; with OpenSSL 3.5 it comes first.

      The same profile on nginx 1.24
      Result
      listen 443 ssl http2;
      ssl_session_tickets off;

      Before 1.25.1 nginx turns HTTP/2 on in the listen line, and before 1.23.2 it does not rotate session ticket keys by itself.

      Postfix 3.9, Intermediate
      Result
      smtpd_tls_protocols = >=TLSv1.2
      tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:…
      tls_eecdh_auto_curves = X25519 prime256v1 secp384r1

      Common uses

      • Setting up TLS on a new web, mail or proxy server without reading every directive’s documentation.
      • Turning off TLS 1.0 and 1.1 and weak ciphers flagged by a scan or an audit.
      • Moving to TLS 1.3 and post-quantum key exchange after an OpenSSL upgrade.
      • Keeping one TLS policy across nginx, HAProxy and mail servers.

      The three profiles

      • Modern — TLS 1.3 only, with its three cipher suites (AES-128-GCM, AES-256-GCM, ChaCha20-Poly1305) and an ECDSA certificate. Oldest clients: Firefox 63, Android 10, Chrome 70, Edge 75, Java 11, OpenSSL 1.1.1, Safari 12.1.
      • Intermediate — TLS 1.2 and 1.3; for TLS 1.2 only forward-secret ECDHE suites with AES-GCM or ChaCha20-Poly1305. ECDSA (P-256) certificate recommended, RSA 2048 allowed. Oldest clients: Firefox 31.3, Android 4.4.2, Chrome 49, IE 11 on Windows 10, Java 8u161, Safari 9.
      • Old — TLS 1.0 to 1.3 with CBC, RSA key exchange and 3DES suites, for clients back to IE 8 on Windows XP and Java 6. Guideline 6.0 removed it; this page offers it from guideline 5.8, for OpenSSL-based servers only, and warns.

      All three prefer X25519MLKEM768 (a hybrid of X25519 and the post-quantum ML-KEM-768), then X25519, P-256 and P-384, and let the client choose the cipher (except Old). None needs DH parameters any more: guideline 5.8 removed the DHE suites. HSTS uses a max-age of two years (63072000 seconds). Source: Server Side TLS and its guideline data (Mozilla Public License 2.0).

      OCSP stapling and Let’s Encrypt

      The guidelines recommend stapling, but it only works if your certificate names an OCSP responder. Let’s Encrypt turned its OCSP service off and publishes revocation only through CRLs, so its certificates have no OCSP address and stapling does nothing for them. Stapling is therefore off by default here; switch it on for certificates from a CA that still runs OCSP (look for “OCSP” under Authority Information Access in the SSL Certificate Decoder).

      Standards behind the profiles

      • RFC 8446 defines TLS 1.3; RFC 8996 deprecates TLS 1.0 and 1.1.
      • NIST SP 800-52 Rev. 2 requires US government servers to support TLS 1.2 with FIPS-based cipher suites, and TLS 1.3. In a FIPS 140 environment, leave out the ChaCha20-Poly1305 suites, which are not FIPS-approved.
      • OpenSSL 3 needs @SECLEVEL=0 for TLS 1.0 and 1.1, because its default security level refuses the SHA-1 signatures they use (OpenSSL security levels).

      Limitations

      • The configuration covers TLS: merge it into your own server blocks, virtual hosts or frontends, and replace the certificate paths and host name.
      • The page cannot see your server. After the change, test it with openssl s_client (the command is shown) and check the certificate with the SSL Certificate Checker.
      • Distributions sometimes build servers with a different OpenSSL than the system one: enter the version the server itself reports (nginx -V, haproxy -vv).
      • The Old profile is not offered for Caddy, Traefik and Go programs, whose TLS stack handles legacy versions and ciphers differently.

      Privacy

      On this device: nothing is sent

      Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

      Frequently asked questions

      What do I get without a pass?

      Without a pass, TLS / SSL Server Config Generator shows the profile summary, the checks for your versions and the test commands in full, with the first lines of the configuration (up to 20). Until you unlock it, the result can’t be downloaded or copied. A Pro, Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.

      Which profile should I use?

      Intermediate, unless you know every client is recent (then Modern) or you must serve devices that cannot be updated (then Old, ideally on a separate host name). Intermediate works with every browser of the last several years, IE 11 on Windows 10 and Java 8u161 included.

      What is X25519MLKEM768?

      A hybrid key exchange: X25519 combined with ML-KEM-768, the post-quantum algorithm NIST standardised, so a recording of today’s traffic stays protected even against a future quantum computer. It needs OpenSSL 3.5 (Go 1.24, Caddy 2.10.0, Traefik 3.5.0). Clients that do not offer it simply use X25519.

      Why is ssl_prefer_server_ciphers off?

      Because every cipher in the Modern and Intermediate profiles is strong, the profiles let the client choose — a phone without AES hardware can then pick ChaCha20-Poly1305, which is faster for it. Only the Old profile, with weak ciphers in its list, prefers the server’s order.

      Do I need a dhparam file?

      No. The current profiles have no DHE cipher suites (guideline 5.8 removed them), so nothing uses DH parameters.

      Why does Postfix get a warning about port 25?

      Mail between servers on port 25 uses opportunistic TLS: if the two servers cannot agree on TLS settings, the sender delivers without encryption. Restricting port 25 too much can therefore lower security. Use the stricter settings for submission ports and IMAP.

      Quick answers and tool search

      Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.