ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection)
The browser couldn’t negotiate TLS — the server sent an invalid response, often plain HTTP on the HTTPS port.
can't provide a secure connection Meaning
Common when a server listens on 443 without TLS configured, when TLS versions/ciphers don’t overlap, or when a proxy interferes.
Common causes
- HTTPS URL pointing at a plain-HTTP port
- TLS not configured on the server
- Outdated TLS versions only
- Antivirus/proxy interference
⚡ Quick fix
- Check that the server has a certificate and TLS on 443
- Use http:// for local dev servers that don’t do TLS
- Enable TLS 1.2/1.3
Detailed fix by platform
Linux
openssl s_client -connect example.com:443 -servername example.com
How to diagnose
- Server — TLS configured on that port?
- URL — Using https on a dev server?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in JavaScript
- TypeError TypeError: Cannot read properties of undefined (reading 'x')
- Failed to fetch TypeError: Failed to fetch / NetworkError when attempting to fetch resource
- module MIME type Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html"
Other ways to find it
Where this error sits
Origin: On your device. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 12 Oct 2026