ERR_SSL_PROTOCOL_ERROR: what it means and how to fix it
ERR_SSL_PROTOCOL_ERROR means the browser and the server could not agree on a secure (TLS) connection, so the handshake failed before any page loaded. The cause is usually the server's HTTPS setup, but a visitor's clock, antivirus or network can break it too.
Causes and fixes for this error
Want to know the moment this site goes down?
We will check it every five minutes and email you when it stops responding.
Check your inbox — we have sent you a link to confirm. Nothing is created until you click it.
Common causes
- The server does not serve HTTPS on port 443, or serves plain HTTP there.
- The server offers only old protocol versions (SSL 3, TLS 1.0 or 1.1) that browsers no longer accept.
- No certificate is configured for this hostname on a server that hosts several sites.
- A proxy, load balancer or CDN between the visitor and the server is misconfigured for TLS.
- On the visitor's side: a wrong system clock, antivirus that scans HTTPS, or a network that intercepts traffic.
If it is your site
- Confirm the server speaks TLS on port 443 for this hostname, for example with openssl s_client -connect example.com:443 -servername example.com.
- Enable TLS 1.2 and TLS 1.3, and turn off SSL 3, TLS 1.0 and TLS 1.1.
- Make sure the virtual host for this exact name has a certificate and a private key configured.
- If you use a CDN or proxy, check that its SSL mode matches what the server behind it serves.
If you are a visitor
- Check that your computer's date and time are correct.
- Turn off HTTPS scanning in your antivirus for a moment, or try another browser.
- Try another network: public and office Wi-Fi sometimes intercept HTTPS.
- Run the check above: if the handshake works from our server, the problem is likely local. A site can also block or treat some networks, IP ranges or countries differently.
Other error guides
- 502 Bad Gateway: what it means and how to fix it
- 503 Service Unavailable: what it means and how to fix it
- 504 Gateway Timeout: what it means and how to fix it
- DNS_PROBE_FINISHED_NXDOMAIN: what it means and how to fix it
- ERR_CONNECTION_REFUSED: what it means and how to fix it
- ERR_CONNECTION_RESET and ERR_EMPTY_RESPONSE: what they mean and how to fix them
- ERR_CONNECTION_TIMED_OUT: what it means and how to fix it
- Your connection is not private: SSL certificate errors explained
- ERR_TOO_MANY_REDIRECTS: what it means and how to fix it
- Cloudflare errors 520–526: what each code means and how to fix it
- Try the free uptime checker