JMeter通过Mozilla Firefox录制时反复弹出登录弹窗报401未授权问题
问题根因
这个弹窗是HTTP代理层的身份认证弹窗,既不是被测应用的业务登录校验,也不是JMeter HTTPS录制证书的信任校验,触发逻辑和你已完成的JMeter证书安装无关:
Firefox默认的「使用系统代理设置」模式会自动把本地回环地址(localhost、127.0.0.1)加入代理排除列表,访问本地服务不会走代理;切换到手动代理配置开展JMeter录制时,如果你没有配置对应的代理排除规则,或者JMeter录制器没有正确配置上游代理的认证凭证,Firefox会把发往本地JMeter录制代理的请求转发到需要身份认证的上游代理,就会反复弹出认证窗口,取消后返回401未授权错误。
你之前输入两类凭证都无效的核心原因:填被测应用账号密码时,认证请求是代理层拦截的,根本没发到被测应用服务端;填代理账号密码时,请求没有经过JMeter录制器的代理透传逻辑,凭证没有被正确携带,所以弹窗会反复出现。
修复步骤
- 先核对JMeter启动参数:如果你是通过cmd带
-H/-P/-u/-a这类代理参数启动的JMeter,先确认被测应用是否必须走上游代理才能访问:如果是内网应用、直连就能访问,直接去掉所有代理启动参数,重启JMeter后重新启动HTTP(S) Test Script Recorder即可。 - 配置Firefox代理排除规则:打开Firefox手动代理配置页,找到「No proxy for(不使用代理的地址)」输入框,添加
localhost, 127.0.0.1,确保访问本地JMeter录制代理的请求不会被转发到上游代理。 - 补全JMeter录制器的上游代理配置:如果访问被测应用确实需要走企业上游代理,不要只在JMeter启动命令里加代理参数——命令行的代理参数仅对JMeter自身发起的请求生效,不会自动应用到录制器。需要打开JMeter的HTTP(S) Test Script Recorder配置页,切换到「Advanced(高级)」标签页,准确填写上游代理的地址、端口、认证用户名、密码后再启动录制。
- 验证效果:完成上述配置后重启JMeter录制器,清空Firefox的页面缓存后重新访问被测应用即可正常录制,不会再弹出认证窗口。
注意:如果配置完成后还是出现弹窗,检查Firefox是否安装了强制代理类的插件,这类插件会覆盖浏览器自带的代理排除规则,临时禁用这类插件后再尝试即可。
内容的提问来源于stack exchange,提问作者ask76
相关产品推荐
相关产品推荐

