What it means: Chrome and the server found no TLS version, cipher or certificate they could both use for this hostname.
Free online tool — SSL certificate checker: instant results, no signup.
Runs a full TLS check: handshake, protocol versions, certificate chain, trust and expiry.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH is Chromium net error -113: “The client and server don't support a common SSL protocol version or cipher suite.” Chrome shows “This site can't provide a secure connection” and “host uses an unsupported protocol.” The handshake fails at its very first exchange, before any certificate is validated.
Chrome raises it when the server picks a TLS version Chrome no longer accepts, when no cipher suite overlaps, when the server answers with a protocol_version or insufficient_security alert, and when the server rejects the ClientHello itself with a handshake_failure alert. That last case is how most servers and CDNs respond when they have no certificate at all for the requested hostname, so the name of the error is misleading: on a modern stack, a missing certificate is the most common cause. It is not a certificate-name mismatch (that is ERR_CERT_COMMON_NAME_INVALID) and not an expired or SHA-1 certificate (those are other ERR_CERT_* codes).
| Browser | What you see | Most common trigger |
|---|---|---|
| Chrome, Edge, Brave, Opera | ERR_SSL_VERSION_OR_CIPHER_MISMATCH, “uses an unsupported protocol” | No certificate for the hostname, or a TLS 1.0/1.1-only server |
| Firefox | SSL_ERROR_UNSUPPORTED_VERSION (old TLS) or SSL_ERROR_NO_CYPHER_OVERLAP (no shared cipher) | Same server-side causes |
| Safari | “Safari can't establish a secure connection to the server” | Same server-side causes |
a.b.example.com that Universal SSL does not cover.When a CDN or load balancer terminates TLS, the browser only negotiates with it, so its certificate coverage and TLS settings are what matter.
a.b.example.com) need an advanced or custom certificate.ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;Since nginx 1.23.4 the default ssl_protocols already includes TLSv1.2 and TLSv1.3, so on a current nginx the usual culprit is an inherited, hand-written list. Apache equivalent: SSLProtocol -all +TLSv1.2 +TLSv1.3. Note that TLS 1.3 suites are configured separately from ssl_ciphers and are always available when TLS 1.3 is on.
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
# "alert protocol version" -> that version is disabled
# "alert handshake failure" -> no cert for this name or no shared ciphernmap --script ssl-enum-ciphers -p 443 example.com or testssl.sh example.com. You need at least one ECDHE suite with AES-GCM or ChaCha20 under TLS 1.2, plus TLS 1.3.nginx -t && systemctl reload nginx. On hardware you cannot upgrade, put a reverse proxy with a current TLS stack in front of it.Clearing cache, cookies or SSL state does not help. If every browser on every network fails, the server or CDN configuration is the cause.
openssl s_client -connect example.com:443 -servername example.com -brief </dev/null
# Protocol version: TLSv1.3
# Ciphersuite: TLS_AES_128_GCM_SHA256
curl -sv --tlsv1.2 --tls-max 1.2 https://example.com/ -o /dev/nullRepeat for every hostname and for IPv6 if you publish AAAA records. The SSL/TLS checker shows the negotiated protocol, cipher and certificate 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 freeRun openssl s_client with -tls1_2 and -tls1_3 and the hostname in -servername. "alert protocol version" means that version is disabled; "alert handshake failure" means no certificate for the name or no shared cipher, so repeat with another hostname on the same IP.
That hostname has no certificate. On Cloudflare this is typical for multi-level subdomains such as a.b.example.com, which Universal SSL does not cover; on your own server, the name is missing from the certificate or virtual host.
Either the browser dropped what the server relied on, such as TLS 1.0/1.1 in Chrome 84 or 3DES suites, or a certificate expired or was removed so the server no longer has one for that name.
No. The failure happens in the first handshake message exchange and depends only on the server's configuration and the browser's supported versions and ciphers.
Yes. TLS 1.2 with ECDHE and AES-GCM or ChaCha20 is supported by every current browser. Enable TLS 1.3 alongside it; only TLS 1.0 and 1.1 should be off.
Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.