jmeter报错:javax.net.ssl.SSLException

问题背景描述:在使用jmeter进行测试时,尝试抓取一个使用HTTPS协议的web端口,设置jmeter协议为HTTPS,运行时出现"javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection"的错误。问题:为何会出现此错误?解释:1 错误出现频率较高场景:通常发生在试图使用SSLSocket连接HTTP端口或用普通...
jmeter报错:javax.net.ssl.SSLException
问题背景描述:在使用jmeter进行测试时,尝试抓取一个使用HTTPS协议的web端口,设置jmeter协议为HTTPS,运行时出现"javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection"的错误。

问题:为何会出现此错误?

解释:

1 错误出现频率较高场景:通常发生在试图使用SSLSocket连接HTTP端口或用普通socket连接HTTPS服务端口时。

2 初步判断原因:使用Socket请求HTTPS协议服务导致错误,因服务端提供的端口并非HTTP服务。

3 深层原因分析:

3.1 HTTPS与HTTP协议差异大

HTTPS协议通过加密确保了通信数据安全性,要求通信双方共享密钥(通常基于对称加密算法)。

3.2 HTTPS中的SSL层实现原理

HTTPS协议架构内有SSL层,通过非对称RSA加密实现密钥交换,构建安全数据传输通道。理解RSA加密原理简单,即服务器A与客户端B和可信第三方C之间,A生成RSA公私钥对,C使用私钥加密DES密钥,并与RSA公钥一起发给客户端证书。A将C的证书(包含C私钥对应的公钥)、客户端证书和RSA私钥发给B,B首先验证C证书确保数据由A发出,然后使用C的公钥加密DES密钥,可安全发送,只有A具有对应的RSA私钥,能解密获取DES密钥,完成对称密钥交换。

3.3 题目中报错问题解释原理

一般HTTP协议无安全层,无需加密通信双方信息,故无对称加密算法设计,无处理HTTPS请求的程序,向使用HTTP协议的web服务器发送HTTPS请求自然会报错。

4 解决方案:将HTTPS安全协议改为HTTP协议。

运行成功

5 关联学习资源:SSLsocket原理和实现,适用于实际应用的SSLsocket编程教程。2024-11-16
mengvlog 阅读 8 次 更新于 2025-07-21 02:22:33 我来答关注问题0
檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部