ERR_SSL_PROTOCOL_ERROR appears in Chrome and Chromium-based browsers when the TLS handshake fails. It means the browser and server could not agree on a secure connection — either due to a server misconfiguration, an expired/invalid certificate, or a client-side issue.
This error prevents users from accessing your site. If you see it on your own domain, treat it as a P1 incident — resolve it immediately to avoid traffic loss.
Most Common Causes
Expired SSL certificate:The most common cause. Browsers reject connections to servers with expired certificates.
TLS version mismatch:Your server only supports TLS 1.0/1.1 (deprecated) while modern browsers require TLS 1.2+.
Self-signed certificate:Certificates not issued by a trusted CA are rejected by default.
Incomplete certificate chain:Missing intermediate certificates cause the browser to fail chain validation.
Wrong domain on certificate:Certificate covers a different domain than the one being accessed (CN/SAN mismatch).
Firewall or antivirus SSL inspection:Security software intercepting TLS traffic can cause protocol errors.
Step 1 — Diagnose the Certificate
Use OpenSSL to check what certificate your server is presenting: