【问题标题】:JMeter JMS: Getting Error: Failed to connect via SSL to [ssl://<server-name>:7352]: Received fatal alert: protocol_versionJMeter JMS:出现错误:无法通过 SSL 连接到 [ssl://<server-name>:7352]:收到致命警报:protocol_version
【发布时间】:2021-08-29 12:18:48
【问题描述】:

我正在尝试使用 JMS 点对点逻辑控制器通过 JMeter 5.4.1 将消息发布到 SSL Tibco 服务器上的 Tibco 队列。

JMS Point To Point Controller Config

但我收到以下错误消息:

2021-06-13 12:25:46,278 错误 o.a.j.p.j.s.JMSSampler:不允许: 无法连接到位于 ssl://[server-name]:7352 的任何服务器, ssl://[server-name]:7352 [错误:无法通过 SSL 连接到 [ssl://[server-name]:7352]:收到致命警报: protocol_version: 返回此异常的 url = SSL://[服务器名称]:7352 ] javax.naming.AuthenticationException:不允许:连接失败 到任何服务器:ssl://[server-name]:7352, ssl://[server-name]:7352 [错误:无法通过 SSL 连接到 [ssl://[server-name]:7352]:收到致命警报: 协议版本:返回此异常的 url = SSL://[服务器名称] ] 在 com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:670) ~[tibjms.jar:8.0.0] 在 com.tibco.tibjms.naming.TibjmsContext.lookup(TibjmsContext.java:491) ~[tibjms.jar:8.0.0] 在 javax.naming.InitialContext.lookup(InitialContext.java:417) ~[?:1.8.0_291] 在 org.apache.jmeter.protocol.jms.sampler.JMSSampler.threadStarted(JMSSampler.java:638) [ApacheJMeter_jms.jar:5.4.1] 在 org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:784) [ApacheJMeter_core.jar:5.4.1] 在 org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:993) [jorphan.jar:5.4.1] 在 org.apache.jorphan.collections.HashTree.traverse(HashTree.java:976) [jorphan.jar:5.4.1] 在 org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:752) [ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:740) [ApacheJMeter_core.jar:5.4.1] 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:252) [ApacheJMeter_core.jar:5.4.1]

我试过了: openssl s_client -connect [服务器名称]:7352

它给出了以下输出:

SSL 会话: 协议:TLSv1.2 密码:ECDHE-RSA-AES256-GCM-SHA384 会话 ID: 会话 ID-ctx:

所以在 jmeter.properties 文件中添加了以下行。

https.default.protocol=TLSv1.2

还注释了 jdk.tls.disabledAlgorithms 来自 JDK 的 java.security 文件(我使用的是 jdk1.8.0_291)

#    jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
#    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
#    include jdk.disabled.namedCurves

但我仍然遇到同样的错误。有人请帮忙。

【问题讨论】:

    标签: ssl java-8 jmeter jms tls1.2


    【解决方案1】:

    我通过在 JMeter 的 lib 目录中使用最新的 tibjms.jar 解决了这个问题,因为 Tibco 服务器在我提出这个问题前几个小时已经升级了。

    【讨论】:

      【解决方案2】:

      我认为您使用了错误的属性(不仅是错误的属性,还有错误的位置),您正在为HTTPS 设置默认协议,而您需要为TLS 设置它,即添加system.properties 文件的下一行

      jdk.tls.client.protocols=TLSv1.2
      

      需要重新启动 JMeter 才能应用此属性。

      如果它没有帮助,或者您会遇到不同的错误 - 也可以考虑在此处添加下一行:

      javax.net.debug=all
      

      然后检查 jmeter.log filestdout 是否有任何可疑条目

      更多信息:

      【讨论】:

      • 您好 Dimitri....感谢您的回复。但实际上,问题出在 tibjms.jar 上。在我报告该问题之前,Tibco 服务器已经升级了几个小时。在JMeter的lib文件夹中更改为最新的tibjms.jar后,问题得到解决。
      猜你喜欢
      • 2018-02-16
      • 1970-01-01
      • 2013-05-08
      • 2018-02-09
      • 2015-07-12
      • 2013-07-08
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多