Unrecognized SSL message, plaintext connection?https请求遇到异常分析

时间:2022-01-17 15:58:34
前段时间开发了一个https请求客户端
在线上联调一个https双向认证接口的时候 请求抛出如下异常
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext
connection?

具体的客户端的实现方式可移步看这篇文章 http://blog.csdn.net/dtlscsl/article/details/50118225
根据异常信息进行分析 查找了一些资料 这个问题通常出现在尝试用SSLSocket去连接一个http端口 所以跟客户端实现没有关系~

为了验证自己的判断  尝试在服务器主机上面使用curl -k命令直接请求对方接口地址端口
提示error:SSL routines:SSL23_GET_SERVER_HELLO:unknow protocol

这个异常信息是因为用SSL请求一个http服务导致的

为了进一步证实 我本机启动了tomcat服务 加载了一个web工程 里面有一个http Get请求接口
请求地址如下:
http://127.0.0.1:8080/gateway/resultNotify.do
响应一个json串

同样用curl命令测试http接口 
1.curl    http://127.0.0.1:8080/gateway/resultNotify.do
Unrecognized SSL message, plaintext connection?https请求遇到异常分析Unrecognized SSL message, plaintext connection?https请求遇到异常分析

用curl命令测试https接口,将原http请求协议改为https,实际上这个接口还是http服务
curl -k  https://127.0.0.1:8080/gateway/resultNotify.do
Unrecognized SSL message, plaintext connection?https请求遇到异常分析
Unrecognized SSL message, plaintext connection?https请求遇到异常分析

得出结论 Unrecognized SSL message, plaintext  connection?的异常是因为对方提供的不是https服务的端口