Jmeter 3.1- javax.net.ssl.SSLException:收到致命警报:protocol_version

时间:2017-03-05 15:38:00

标签: ssl jmeter ssl-certificate performance-testing jmeter-plugins

我们正在尝试在Jmeter 3.1中运行https请求。

enter image description here 但在执行获取跟随错误时。

javax.net.ssl.SSLException: Received fatal alert: protocol_version
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
at sun.security.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at  org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at org.apache.jmeter.protocol.http.sampler.HTTPHC3Impl.sample(HTTPHC3Impl.java:269)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1166)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1155)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249)
at java.lang.Thread.run(Unknown Source)

我们尝试了以下解决方案,但确实没有解决问题:

  1. 添加" https.default.protocol = TLSv1" in" jmeter.properties"文件
  2. 尝试提供的解决方案 http://rajanmanoj.blogspot.in/2011/02/how-to-test-ssl-using-jmeter.html 这个链接
  3. 我们正在使用Jmeter 3.1,Java Jdk 1.7,Windows 7

2 个答案:

答案 0 :(得分:0)

这很大程度上是由于协议版本不匹配造成的。客户端使用的SSL协议版本与服务器之间存在不匹配。

确保您的系统中安装了最新版本的Java和JMeter。另请检查<?php namespace Foo; class Bar { public static $baz=1; public $class=self::class; //... } $bar = new Bar(); echo $bar->class::$baz; // returns 1 文件夹中的安全证书。

您可以查看this question了解详情。

答案 1 :(得分:0)

Https默认协议可能因JVM的版本而异。 你可以改变它。转到jmeter主目录。打开jmeter.properties文件。取消注释行:

https.default.protocol=SSLv3

可能需要在更换后重新启动jmeter。不确定。