JMeter录制IP地址HTTPS请求遇SSL错误及密钥库问题求助
解决JMeter录制HTTPS应用时的SSL错误与密钥库问题
看起来你踩了两个常见的录制坑:浏览器代理设置错了,再加上JMeter的SSL密钥库损坏,才导致了这些报错。下面一步步帮你搞定:
1. 紧急修正浏览器代理设置(最关键的一步)
你浏览器里把代理设成了目标服务器的IP(188.165.49.217:8443),这完全不对!JMeter的录制代理是跑在你本地机器上的,所以必须把浏览器的HTTP/HTTPS代理改成:
- 地址:
127.0.0.1(或localhost) - 端口:
8443(和你JMeter recorder里设置的端口保持一致)
改完保存,这是解决SSL_ERROR_RX_RECORD_TOO_LONG的核心原因——你之前让浏览器把目标服务器当代理连,它根本不是代理服务,SSL握手直接乱套了。
2. 修复损坏的JMeter代理密钥库
JMeter日志里的java.io.IOException: erreur keytool说明proxyserver.jks(JMeter代理用的SSL密钥库)已经坏了,得重新生成:
- 找到JMeter安装目录下的
bin文件夹,删掉里面的proxyserver.jks文件; - 打开JMeter,点顶部菜单栏的
Options->SSL Manager; - 在弹出的窗口里点
Generate Root CA,按提示填证书信息(比如CN填JMeter Root CA就行,其他信息随便填),密钥库密码建议用默认的changeit(后续配置省事儿); - 生成完,JMeter会自动把新的
proxyserver.jks存到bin目录下。
3. 把根CA证书导入浏览器让它信任
浏览器默认不认JMeter的代理证书,得手动导入:
- 还是在
SSL Manager窗口里,点Export Certificate,把证书导出成.cer格式(比如存桌面); - 打开浏览器的证书管理:
- Chrome:设置→隐私和安全→安全→管理证书→切换到「受信任的根证书颁发机构」→导入;
- Firefox:选项→隐私与安全→证书→查看证书→「证书颁发机构」标签→导入;
- 选刚才导出的
.cer文件,勾选「信任该证书用于识别网站」这类选项,完成导入。
4. 最后核对JMeter代理配置
检查HTTP(S) Test Script Recorder的设置:
- 确认端口是
8443,和浏览器代理一致; - 点
SSL Configuration按钮,确认密钥库路径是bin/proxyserver.jks,密码是changeit(如果改了密码就填自定义的); - 确保「Target Controller」选了你要存脚本的线程组。
做完这些,重启JMeter和浏览器,再尝试录制应该就正常了。
内容的提问来源于stack exchange,提问作者elie
相关产品推荐
相关产品推荐

