ERR_SSL_PROTOCOL_ERROR
The secure connection failed during the handshake
Seen in Chrome, Edge
The browser and server couldn't complete a TLS handshake; often the server isn't actually speaking TLS on that port.
Common causes
- HTTPS points at a port that serves plain HTTP (SSL_ERROR_RX_RECORD_TOO_LONG in Firefox).
- A broken TLS configuration or missing certificate on the server.
- A firewall or proxy interfering with the handshake.
How to fix it
- Check the server listens with TLS on 443 (e.g. "listen 443 ssl" in nginx).
- Look at the web server error log during a request.
- Test from another network to rule out interception.
Got a different message? Paste it into the error explainer.
Related errors
- NET::ERR_CERT_DATE_INVALID · The certificate has expired or is not yet valid
- NET::ERR_CERT_AUTHORITY_INVALID · The certificate isn't issued by a trusted authority
- SEC_ERROR_UNKNOWN_ISSUER · Firefox doesn't recognise the certificate's issuer
- NET::ERR_CERT_COMMON_NAME_INVALID · The certificate doesn't cover this name
- ERR_SSL_VERSION_OR_CIPHER_MISMATCH · No TLS version or cipher in common
- You cannot visit this site right now because the website uses HSTS · HSTS blocks the bypass of a certificate error
- NET::ERR_CERT_REVOKED · The certificate has been revoked by its issuer
- NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM · The certificate is signed with an insecure algorithm
- NET::ERR_CERT_INVALID · The certificate is malformed or breaks platform rules
- NET::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED · The certificate is not logged in Certificate Transparency
- ERR_SSL_UNRECOGNIZED_NAME_ALERT · The server has no site configured for this hostname
- ERR_SSL_OBSOLETE_VERSION · The site uses an outdated TLS version