在带有 SSL 管理器的公司代理后面使用 JMeter 代理记录器

using JMeter proxy recorder behind company proxy with SSL manager

您好,我在尝试使用公司代理后面的 JMeter 代理记录器时遇到以下问题

有两种环境,一种不使用公司代理(QA env)另一种使用公司代理(UAT env)

此外,这两个站点都使用客户端证书来识别用户 (saml2)。

在QA环境中录制时,我只需要使用ssl管理器,当我启动jmeter代理时,jmeter会询问浏览器证书密码。提供后我可以成功记录请求。

但是当直接访问 UAT 环境时,我必须设置浏览器代理设置(webprox.corp.net 和端口 2212)

为了记录同一个应用程序,我使用以下命令启动了 JMeter

jmeter.bat-Hwebprox.corp.net-P 2212

同时将浏览器代理设置为localhost和8080(与jmeter代理服务器设置相同)

Jmetr 记录开始正常并捕获请求,但它不评估在 SSL 管理器中加载的浏览器证书。因此我无法记录正确的场景,因为由于浏览器证书未识别,连接显示未授权。

对此有任何建议

我已经找到解决上述问题的方法

如上所述,我们可以使用 jmeter.bat -H webprox.corp.net -P 2212 -N localhost 启动 JMeter(您可以根据需要使用其他参数,例如代理的用户名和密码)

将有效的浏览器端证书(不是 JMeter 根 CA)加载到 SSL 管理器(假设您没有从 java 密钥库加载证书)

我错过的要点是 JMter Work Bench > HTTP(S) Test Script Recorder > HTTP Sampler Setting > Type

中的值

必须使用 Java 实现作为类型(或者您可以更改值并检查)

完成以上配置后,我已经成功录制了合作代理背后的脚本。