You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter调用SOAP服务遇SSL握手异常:TLS版本不兼容求助

解决JMeter调用SOAP服务时的SSLHandshakeException(TLS1.0协议不兼容)

问题原因

服务器仅支持TLS1.0协议,但你的JMeter客户端(基于IBM JDK 8)默认仅启用TLS1.2,导致握手失败。即使JRE的java.security未禁用TLS1.0,客户端也不会主动将其纳入协议偏好列表。

客户端配置调整方案

方案1:通过JMeter启动参数指定支持的TLS协议

  • Windows:编辑JMeter安装目录下的bin/jmeter.bat,找到set JAVA_OPTS=行,修改为:
    set JAVA_OPTS="-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 %JAVA_OPTS%"
    
  • Linux/macOS:编辑bin/jmeter.sh,添加:
    JAVA_OPTS="-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 $JAVA_OPTS"
    
  • 或者直接在启动JMeter时临时指定参数:
    jmeter -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
    

方案2:修改JMeter系统属性文件

打开JMeter安装目录下的bin/system.properties,添加以下配置行:

https.protocols=TLSv1,TLSv1.1,TLSv1.2

保存后重启JMeter即可生效。

方案3:针对IBM JDK的额外配置(可选)

由于栈信息显示使用IBM JSSE实现,可额外检查IBM JDK的安全配置:

  • 打开JRE目录下的lib/security/java.security,查找ibm.tls.disabledAlgorithms配置项,如果其中包含TLSv1,将其移除;
  • 也可添加系统参数-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,强制指定客户端支持的协议列表,用法同方案1。

验证

调整配置后重新运行JMeter测试,若握手成功则说明配置生效。

内容的提问来源于stack exchange,提问作者Thomson Mathew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 02:37:37