【问题标题】:java.net.SocketException: Software caused connection abort: recv failed **ensure browser is set to accept the JMeter proxy certificate**java.net.SocketException:软件导致连接中止:recv 失败 **确保浏览器设置为接受 JMeter 代理证书**
【发布时间】:2021-08-16 19:19:53
【问题描述】:

我将Jmeter 5.4.1 与Java 1_8_301 和Firefox 91.0 一起使用。
我已将 ApacheJMeterTemporaryRootCA 导入到 Firefox 浏览器中,此证书今天生成并且有效。

我已经在我的 Firefox 浏览器中设置了代理设置。此测试是在 Windows 上完成的,我的 Web 应用程序使用我通过 keytool 转换为 PKCS12 格式的客户端证书,并将以下内容添加到 Jmeter-Home\bin 下的 system.properties 中

我的网络应用在没有代理的情况下加载正常,但是当我尝试记录时出现以下错误。

java.net.SocketException: Software caused connection abort: recv failed **ensure browser is set to accept the JMeter proxy certificate**

我不确定我在这里缺少什么。我已经完成了这方面提到的所有解决方案,现在我已经用尽了所有选择。我已成功使用 BlazeMeter 进行录制,但出于安全原因,我的公司不允许我使用 Chrome 扩展程序。

注意:

另外,我忘了补充一点,Jmeter 录音之前工作正常。在我们的 java 之后开始注意到问题 从 jdk_1.8.291 升级到 jdk_1.8.301。我检查了差异 两者之间并且都支持 TLS1.2,这是我们的应用程序使用和尝试的 降级到 v291 也没有用。

日志:
'XXXXX' 的 URL 的 SSL 证书有问题吗?确保浏览器设置为接受 JMeter 代理证书:java.net.SocketException:软件导致连接中止:recv 失败

【问题讨论】:

    标签: jmeter ssl-certificate


    【解决方案1】:

    如果没有看到您的 jmeter.log file 并为 HTTP(S) Test Script Recorder. 启用了调试日志记录,很难说出问题所在

    我能想到 2 个选项:

    1. 仔细检查您将证书导入浏览器的方式,即尝试使用没有客户端证书的 HTTPS 记录网站,即https://example.com。如果失败 - 您需要在继续您的应用程序记录之前正确安装 JMeter 的证书

    2. 如果其他 HTTPS 网站可以成功,但您的特定应用程序无法成功,则很可能您还需要将客户端证书导入 Firefox 浏览器

    作为最后的手段,您可以使用Firefox "network" tab 检查请求并手动生成相关的HTTP Request 采样器。还有 BlazeMeter JMX Converter service 可以将 HAR 文件转换为 .JMX 脚本,但我认为同样的安全限制将适用。

    【讨论】:

    • 感谢 Dimitri 的回复。为了回答您上面的第二点,我已将客户端证书导入 Firefox 浏览器,并且无需代理即可访问应用程序。问题是在使用 Jmeter 记录时。这是其中一个记录的日志文件:
    • 2021-08-24 15:13:44,664 INFO o.a.j.e.u.CompoundVariable:注意:函数类名称必须包含字符串:'.functions'。 2021-08-24 15:13:44,664 INFO o.a.j.e.u.CompoundVariable:注意:函数类名称不能包含字符串:'.gui。' 2021-08-24 15:13:44,933 信息 o.a.j.p.h.p.ProxyControl:找到有效别名:root_ca:2021-08-24 15:13:44,933 信息 o.a.j.p.h.p.ProxyControl:找到有效别名:intermediate_ca:2021-08-24 15:13 :44,940 INFO o.a.j.p.h.p.Daemon:在端口上创建守护进程套接字:8181
    • 2021-08-24 15:13:44,944 信息 o.a.j.p.h.p.Daemon:测试脚本记录器启动并运行! 2021-08-24 15:17:31,407 INFO o.a.j.p.h.p.Proxy:代理将删除标头:If-Modified-Since,If-None-Match,Host 2021-08-24 15:17:31,429 INFO o.a.j.p.h.p.Proxy:[51448]用于 SSL 的 KeyStore 加载正常,并将主机“content-signature-2.cdn.mozilla.net”放入带有密钥 (content-signature-2.cdn.mozilla.net) 的地图中 2021-08-24 15:17:31,439 INFO o.a.j.p.h.s. HTTPHC4Impl:HTTP 请求重试计数 = 0
    • 2021-08-24 15:17:31,444 WARN o.a.j.p.h.p.Proxy:[51448] 'content-signature-2.cdn.mozilla.net' 的 URL 的 SSL 证书有问题吗?确保浏览器设置为接受 JMeter 代理证书:java.net.SocketException:软件导致连接中止:recv failed 2021-08-24 15:17:31,446 INFO o.a.j.s.SampleEvent:样本变量列表:[] 2021-08-24 15 :17:31,812 INFO o.a.j.p.h.p.Proxy: [51452] 用于 SSL 的 KeyStore 加载正常,并将主机“firefox.settings.services.mozilla.com”放入带有密钥的地图中(firefox.settings.services.mozilla.com)
    • 2021-08-24 15:17:31,884 WARN o.a.j.p.h.p.Proxy:[51453] 'firefox.settings.services.mozilla.com' 的 URL 的 SSL 证书有问题吗?确保浏览器设置为接受 JMeter 代理证书:readHandshakeRecord 2021-08-24 15:17:31,962 INFO o.a.j.p.h.p.Proxy: [51460] 用于 SSL 的密钥库已加载 OK 并将主机“push.services.mozilla.com”放入带有密钥的地图中(push.services.mozilla.com) 2021-08-24 15:17:31,989 INFO o.a.j.p.h.s.h.LazyLayeredConnectionSocketFactory:设置 HTTPS TrustAll Socket Factory 2021-08-24 15:17:31,992 INFO o.a.j.u.JsseSSLManager:使用默认 SSL 协议:TLS
    猜你喜欢
    • 1970-01-01
    • 2010-09-13
    • 2011-10-09
    • 2017-04-20
    • 2011-02-03
    • 2019-07-28
    • 2012-09-10
    • 2012-04-15
    • 2012-02-20
    相关资源
    最近更新 更多