
What it means: The server answered with TLS alert 70 (protocol_version): it refuses every TLS version Firefox offered.
Free online tool — SSL certificate checker: instant results, no signup.
Runs a full TLS check: handshake, protocol versions, certificate chain, trust and expiry.
SSL_ERROR_PROTOCOL_VERSION_ALERT is a Firefox (NSS) error. The “Secure Connection Failed” page adds NSS's description: “Peer reports incompatible or unsupported protocol version.” It means the server sent the TLS alert protocol_version (number 70) in reply to Firefox's ClientHello: none of the TLS versions Firefox offered is acceptable to it, so it aborted the handshake before any certificate was exchanged.
The direction matters. If the server only speaks an old version and says so, Firefox itself rejects it with SSL_ERROR_UNSUPPORTED_VERSION. This alert is the opposite case: the server, or something in front of it, wants a version the client did not offer, or it cannot parse a modern ClientHello. Chrome reports the same alert as ERR_SSL_VERSION_OR_CIPHER_MISMATCH.
| Browser | What you see | Most common trigger |
|---|---|---|
| Firefox | SSL_ERROR_PROTOCOL_VERSION_ALERT | Server minimum version above what Firefox offered |
| Chrome, Edge | ERR_SSL_VERSION_OR_CIPHER_MISMATCH | Same alert, Chromium's name for it |
| Safari | “Safari can't establish a secure connection to the server” | Same alert, no code shown |
security.tls.version.min = 3 (TLS 1.2) and security.tls.version.max = 4 (TLS 1.3). A lowered maximum, often left over from old troubleshooting advice or set by an enterprise policy (SSLVersionMax), makes Firefox offer only TLS 1.2, and a TLS 1.3-only server answers with alert 70.ssl_protocols TLSv1.3; in nginx, a TLS 1.3-only security policy on a cloud load balancer, or a CDN minimum of 1.3 rejects every client that tops out at TLS 1.2: old browsers, embedded clients and many intercepting proxies.Safari and Chrome do not show the Firefox code, but the server-side causes and fixes are identical.
The alert comes from whichever box terminates TLS for the browser. With a CDN or load balancer in front, check its version policy, not only the origin's.
# /etc/nginx/conf.d/tls.conf
ssl_protocols TLSv1.2 TLSv1.3;
# Apache 2.4 (mod_ssl)
SSLProtocol -all +TLSv1.2 +TLSv1.3openssl s_client -connect example.com:443 -servername example.com -tls1_2 -brief </dev/null
# ... tlsv1 alert protocol version ... SSL alert number 70 -> TLS 1.2 refused
openssl s_client -connect example.com:443 -servername example.com -tls1_3 -brief </dev/nullcurl -sv --tls-max 1.2 https://example.com/ -o /dev/null reproduces what a TLS 1.2-only client experiences.nginx -t && systemctl reload nginx or apachectl configtest && systemctl reload apache2.about:config, search security.tls.version, and reset any modified value (Firefox shows changed prefs in bold) to its default.about:policies: if your organization pins SSLVersionMax, ask IT, as you cannot override it.Clearing the cache or cookies changes nothing here, and lowering security.tls.version.min does not help either: the server is asking for a newer version, not an older one. If every browser fails on every network, only the site owner can fix it.
openssl s_client -connect example.com:443 -servername example.com -tls1_2 -brief </dev/null
openssl s_client -connect example.com:443 -servername example.com -tls1_3 -brief </dev/null
# both should print: CONNECTION ESTABLISHEDThen reload the page in Firefox with default TLS prefs. The SSL/TLS checker lists which protocol versions the server accepts, as seen from outside your network.
SSL/TLS is the encryption protocol that protects data between the browser and server. Our tool analyzes the certificate, chain of trust, TLS version, and knownvulnerabilities.
Issuer, validity period, signature algorithm, covered domains (SAN), and validation type (DV/OV/EV).
Full chain verification: from leaf certificate through intermediates to root CA.
Protocol version (TLS 1.2/1.3), cipher suites, Perfect Forward Secrecy (PFS) support.
Set up a monitor — get Telegram and email alerts 30/14/7 days before expiration.
SSL certificate monitoring
TLS config audit
HTTPS as ranking factor
customer trust
www and subdomains.Strict-Transport-Security header forces browsers to always use HTTPS.SSL certificate monitoring, check history and alerts 30 days before expiry.
Sign up freeUsually the website, or a proxy in between. It is on your side only if Firefox's TLS prefs or policies were changed, or antivirus or a VPN intercepts HTTPS.
It is the protocol_version alert defined in the TLS specification. A server sends it when the client offered no TLS version it is willing to use.
No. This alert means the server wants a newer version, so allowing older ones does not help and weakens every other connection. Reset the prefs to default instead.
Chrome maps the same protocol_version alert to ERR_SSL_VERSION_OR_CIPHER_MISMATCH. The cause and the server fix are the same.
Yes. RFC 8996 deprecated only TLS 1.0 and 1.1. TLS 1.2 with ECDHE and AEAD ciphers remains acceptable, and keeping it next to TLS 1.3 avoids this alert for older clients.
Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.