上线服务时遇到的一个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程序即可。

相关推荐
Zella折耳根1 小时前
复习篇-常用实用类
java
devilnumber6 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
asdfg12589638 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
摇滚侠10 小时前
SpringMVC 入门到实战 文件上传 75-77
java·后端·spring·maven·intellij-idea
GIS数据转换器10 小时前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
华如锦10 小时前
面了很多 Java转AI Agent方向,一些面试题总结
java·开发语言·人工智能·python·ai
睡不醒男孩03082310 小时前
CLup 6.x 版本中针对StarRocks 存算一体集群的完整操作手册
java·服务器·网络·clup
程序员黑豆11 小时前
Java中怎么实现字符串拼接呢【AI全栈开发】
java
java1234_小锋12 小时前
LangChain4j 开发Java Agent智能体- 多模态支持
java·开发语言·langchain4j