上线服务时遇到的一个SSLHandshakeException错误

今天部署自己的一个程序,在本地是可以正常跑通流程了,但是部署到服务器上运行之后出现了如下错误。

Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

at sun.security.ssl.HandshakeContext.(HandshakeContext.java:171) ~na:1.8.0_371

at sun.security.ssl.ClientHandshakeContext.(ClientHandshakeContext.java:106) ~na:1.8.0_371

at sun.security.ssl.TransportContext.kickstart(TransportContext.java:245) ~na:1.8.0_371

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:410) ~na:1.8.0_371

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:389) ~na:1.8.0_371

at com.mysql.cj.protocol.ExportControlled.performTlsHandshake(ExportControlled.java:316) ~mysql-connector-java-8.0.18.jar!/:8.0.18

at com.mysql.cj.protocol.StandardSocketFactory.performTlsHandshake(StandardSocketFactory.java:188) ~mysql-connector-java-8.0.18.jar!/:8.0.18

at com.mysql.cj.protocol.a.NativeSocketConnection.performTlsHandshake(NativeSocketConnection.java:99) ~mysql-connector-java-8.0.18.jar!/:8.0.18

at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:329) ~mysql-connector-java-8.0.18.jar!/:8.0.18

... 128 common frames omitted

发生原因如下:在java8及高版本以上的环境调用ssl的时候会出现SSLHandshakeException这个错误。

需要修改jdk中的一个叫java.security的文件

文件路径如下:

![

找到如下配置:

将其中的SSLv3, TLSv1, TLSv1.1都注释掉。

然后重启java程序即可。

相关推荐
洋不写bug9 小时前
绕过权限检查,访问修改私有属性,反射,枚举,lambda
java·枚举·lambda·反射
evans在进步9 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
lisin-lee-cooper9 小时前
【leetcode658】有序数组找出k个最接近x的数
java·数据结构·算法
sunburn-9 小时前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法
Kyrie_kk9 小时前
Java--TimeUnit时间单位枚举类(时间单位规范)
java·后端
念何架构之路9 小时前
beego总体架构与工程结构
java·架构·beego
典典分享指南9 小时前
用飞书多维表格搭建内容管理看板
java·python·r语言·composer·symfony
东坡白菜11 小时前
windows下使用Trae启动java项目遇到的乱码问题
java
SQL-First布道者11 小时前
⚡Spring JDBC 完整体系 · 第 10 集 · 手搓 `BaseCondition`
java·spring boot·后端·spring·mybatis·spring jdbc
珍珠先生11 小时前
第9章 JDK 11 新特性:var 与便捷新 API
java