症状
HTTPS 请求以 SSLError: WRONG_VERSION_NUMBER 失败,意味着 TLS 握手收到的字节并非合法的 TLS 记录。常见原因是向纯 HTTP 端口发送 TLS、代理改写了连接或路由错误,或 TLS 检测设备使用了不受信任的证书。消息指向 TLS,但缺陷通常在地址或网络路径上。
诊断
用 openssl s_client 确认端口是否真的讲 TLS;用 curl 对比纯 HTTP;检查代理环境变量并尝试绕过代理。
openssl s_client -connect host:443 -servername host < /dev/null
根因
客户端开始 TLS 握手,但服务器或中间层以非 TLS 内容响应,于是握手把明文字节解析为错误的 TLS 版本。
修复
使用服务正确的协议与端口;修正代理或负载均衡的配置,使 TLS 正确终止与转发;对合法的检测代理应把其证书装入信任库,而非关闭校验。
验证
对修正后的端点重发请求确认成功,再用 openssl 检查证书链确认签发者与主机名符合预期。受信任的证书链加上成功响应即证明路径正确。
常见陷阱
为绕过该错误而全局关闭证书校验会暴露中间人攻击;应修正路径或正确信任证书。