Reqable 中文文档 下载 App

SSL 握手失败的六大原因与对应解法

SSL 问题的本质大多是证书信任:不同系统、不同应用的验证策略不一样,没有万能解。官方建议的顺序是——先把 CA 证书安装这关过了(电脑端 / Android / iOS),再看下面六种情况。

1. 手机流量在电脑上 SSL 错误

手机端独立模式抓包正常,协同模式下电脑无法解析 SSL——说明电脑端的 CA 证书没有装到手机上。协同模式会自动同步证书,重新连接一次即可(见 扫码连接协同设备)。

2. 应用内置 CA Store

有些应用出于安全考虑自带 CA 验证库、不读系统证书库,装系统证书对它无效。最典型的是 Firefox(好在提供了导入开关,见下一篇)。没有提供方案的应用只能等开发商处理——这是安全设计的正常边界。

3. 固定证书(SSL Pinning)

应用钉死了服务器证书,中间人签发证书过不了验证。如果你拥有服务器的 SSL 证书(公钥+私钥),可以配置到 Reqable 的 SSL 证书(服务端)中解决;没有私钥则无解。详见 SSL 高阶场景。

4. 双向验证(mTLS)

服务器要求客户端上传证书,Reqable 默认不出示。把你拥有的客户端 SSL 证书配置到 Reqable 的 SSL 证书(客户端)中即可。

5. Python 请求无法验证证书

Python requests 等网络库不读系统证书库,容易报证书验证失败。解法:在 Reqable 的 代理终端 里执行脚本,证书与代理问题一并解决。

6. NodeJS 请求无法验证证书

同上,Node 程序放进代理终端里运行。

分诊速查

现象先怀疑
所有 HTTPS 全失败证书没装好(回安装步骤)
只有某个 App 失败固定证书 / 内置 CA(第 2、3 条)
手机协同模式失败、独立正常电脑端证书没同步(第 1 条)
只有脚本请求失败第 5、6 条,走代理终端

最后提醒:SSL 策略随系统与应用版本持续变化,遇到新情况以官方最新文档与社区反馈为准。