该错误表示客户端(如浏览器)在 TLS 握手阶段终止连接,原因通常是证书不可信、协议/加密套件不兼容、证书链不完整或服务器配置违反 RFC 5246/RFC 8446 要求。常见触发点包括:自签名证书未被信任、系统时间偏差超过5分钟、SNI未正确传递、TLS 1.0/1.1 被禁用而服务器仅支持旧协议,或证书已吊销且OCSP/CRL验证失败。
该错误属于 TLS 层连接失败,发生在 TCP 连接建立之后、HTTP 请求发出之前。现代浏览器(Chrome 120+、Firefox 122+、Edge 121+)默认禁用 TLS 1.0 和 TLS 1.1,并要求服务器提供完整且有序的证书链。若服务器仅发送终端证书而未附带中间 CA 证书,客户端无法构建可信路径,将直接拒绝连接。CA/B Forum Baseline Requirements 明确要求:服务器必须在 TLS ServerHello 的 Certificate 消息中包含所有必要中间证书(除根证书外),否则视为配置错误。
在实际 HTTPS 部署中,Nginx 常见配置疏漏是未在 ssl_certificate 指令中合并中间证书;Apache 用户易忽略 SSLCertificateChainFile(2.4.8+ 已弃用,应改用 SSLCertificateFile 合并 PEM);OpenSSL 1.1.1+ 默认启用 TLS 1.3,但若后端使用旧版 OpenSSL(如 1.0.2)且未正确协商降级保护,也可能触发静默握手失败。Cloudflare 或反向代理未透传 SNI 或篡改证书链时,同样会引发此错误,但此时源站日志通常无 TLS 握手记录。
加密您的网站,赢得客户信任!