JMeter 5.6.3录制流量时遇SSL证书握手终止问题求助
JMeter录制SSL握手终止问题排查方案
1. 证书有效性与导入校验
- 重新生成JMeter根证书:进入JMeter的bin目录,执行
./create-rmi-keystore.sh(Linux/Mac)或create-rmi-keystore.bat(Windows),确保证书有效期足够(默认1年,过期会导致部分请求失败)。 - 确认Firefox导入的是
bin/rootCA.crt文件,导入时必须勾选“信任该CA标识网站”,别选错证书或漏勾信任选项。
2. 代理配置对齐
- 在JMeter的「HTTP(S) Test Script Recorder」里,切换到「SSL Manager」,选择刚生成的
rootCA.crt,保证代理用的证书和浏览器导入的完全一致。 - 若开了「只录制指定的URLs」,检查规则是否覆盖所有需要录制的域名;要么直接关掉这个限制,避免因规则过滤触发报错。
3. Firefox深层SSL设置调整
- 地址栏输入
about:config,搜索security.enterprise_roots.enabled,设为true,让Firefox从系统层面信任JMeter证书。 - 核对代理设置:手动代理的IP、端口必须和JMeter代理一致,且勾选「对所有协议使用相同代理」,别漏了HTTPS协议的代理配置。
4. 适配目标网站SSL特性
- 部分网站用TLS 1.3或特殊加密套件,JMeter默认不支持。打开JMeter的
system.properties文件,添加以下配置后重启:https.protocols=TLSv1.2,TLSv1.3 ssl.socket.provider=org.apache.hc.core5.reactor.ssl.DefaultSslSocketProvider - 如果目标网站有证书钉扎机制,会直接拒绝JMeter的代理证书。这种情况要么在Recorder的「Advanced」里勾选「模拟浏览器证书钉扎行为」(部分版本支持),要么改用浏览器导出HAR文件再导入JMeter的方式录制。
5. 系统级证书信任补充
- 除了浏览器导入,把
rootCA.crt导入系统根证书存储:- Windows:打开证书管理器,放到「受信任的根证书颁发机构」
- Linux:复制到
/usr/local/share/ca-certificates/,执行update-ca-certificates - Mac:通过钥匙串访问导入到「系统」证书库,设置为「始终信任」
内容的提问来源于stack exchange,提问作者Akriti
相关产品推荐
相关产品推荐

