What Chrome actually shows
This is a net error page, not a certificate warning. There is no Advanced link and no way to proceed, because there is no connection to proceed over.
This site can’t provide a secure connection
example.com doesn’t adhere to security standards.
ERR_SSL_PROTOCOL_ERRORThe wording is deliberately vague. Chrome uses this code as a catch-all when the handshake fails for a reason it cannot describe more precisely.
Why this is different from a certificate warning
A certificate warning like NET::ERR_CERT_AUTHORITY_INVALID means the connection worked and the browser then objected to the certificate it was handed. You can usually click through those.
ERR_SSL_PROTOCOL_ERROR happens earlier. The two sides never got far enough to discuss a certificate. Nothing was verified, nothing was rejected, the conversation just ended.
That is why the fixes are completely different. Replacing your certificate will not help if the handshake never reaches the certificate.
The four real causes
In practice this error comes down to one of these.
- →The server aborts the handshake. The web server or a load balancer in front of it drops the connection partway through, often because of a bad configuration reload or a service that is only half running.
- →A middlebox is interfering. Antivirus software that inspects encrypted traffic, a corporate proxy, or a filtering appliance can mangle the handshake. If only some visitors see the error, this is the likely culprit.
- →SNI or virtual hosts are misconfigured. Several sites share one IP address, and the server cannot work out which certificate to present for the name being requested, so it gives up.
- →Plain HTTP is being served on port 443. The browser opens a secure connection and receives an ordinary unencrypted response. Nothing about that can be interpreted, so the connection fails immediately.
If it is your site: how to fix it
Work from the outside in. The goal is to find out where the handshake stops.
- 1.Confirm it is not just you. Test from a different network and a different device. A failure everywhere points at the server. A failure in one place points at a middlebox.
- 2.Check what is listening on port 443. If your site was recently moved, or a proxy was added, it is common to end up with a plain HTTP service answering on the secure port.
- 3.Restart the web server after checking its configuration. A configuration file that failed to reload cleanly is a frequent cause of a server aborting mid-handshake.
- 4.Check your virtual host and SNI setup. Every hostname you serve needs a certificate the server can match to it. Bare IP addresses and missing default hosts cause exactly this.
- 5.Look at anything sitting in front of the origin. A CDN or reverse proxy adds a second handshake. If you use Cloudflare, see Error 525, which is the same failure one hop further back.
- 6.Re-run a check once you have changed something. Our free audit tells you what your server is presenting right now, which is faster than guessing.
What will not fix it
Most advice for this error is aimed at visitors, and most of it is noise. Clearing your browser cache does not repair a server handshake. Neither does resetting your SSL state, changing your DNS, or disabling QUIC.
The one visitor-side fix that is genuine is switching off TLS scanning in antivirus software, and that only helps if the antivirus was the thing breaking the connection in the first place.
Buying a new SSL certificate is also not the answer here, tempting as it looks.
Frequently asked questions
Is ERR_SSL_PROTOCOL_ERROR dangerous?
Not to you. The connection failed, so nothing was exchanged and nothing was exposed. It does mean the site is unreachable over a secure connection, which is a real problem for the owner but not a risk to your device.
Why does the site work for other people?
That usually points to something on your network rather than the server. Antivirus that inspects encrypted traffic, a company proxy, or a filtering router can break the handshake for you alone. Trying the same site on mobile data is the quickest way to confirm it.
Can I bypass the error and visit anyway?
No. Chrome does not offer a proceed option here because there is no working connection to proceed over. This is different from a certificate warning, where you are choosing to accept a certificate the browser distrusts.
How is this different from ERR_SSL_VERSION_OR_CIPHER_MISMATCH?
They are both handshake failures, but the mismatch error is specific. It means the browser and server share no supported protocol version or cipher. ERR_SSL_PROTOCOL_ERROR is the general case Chrome falls back to when it cannot be that precise. See our page on ERR_SSL_VERSION_OR_CIPHER_MISMATCH.
I run WordPress. Where do I start?
Start at the server, not in WordPress. This error happens before any PHP runs, so plugins and themes are not involved. Once the handshake works again, our guide to fixing SSL on WordPress covers the site-level settings.