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

相关推荐
砍材农夫16 小时前
spring-ai 第四多模态API
java·人工智能·spring
她说..19 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
庞轩px19 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
皮皮林55120 小时前
面试官:ZSet 的底层实现是什么?
java
码云数智-大飞21 小时前
C++ RAII机制:资源管理的“自动化”哲学
java·服务器·php
2601_9498165821 小时前
Spring+Quartz实现定时任务的配置方法
java
计算机毕设指导61 天前
基于SpringBoot校园学生健康监测管理系统【源码文末联系】
java·spring boot·后端·spring·tomcat·maven·intellij-idea
mysuking1 天前
springboot与springcloud对应版本
java·spring boot·spring cloud
希望永不加班1 天前
SpringBoot 数据库连接池配置(HikariCP)最佳实践
java·数据库·spring boot·后端·spring
迈巴赫车主1 天前
蓝桥杯3500阶乘求和java
java·开发语言·数据结构·职场和发展·蓝桥杯