行业知识
javax.net.ssl.SSLException: closing inbound before receiving peer‘s close
2026-10-25 14:18:00
来源:互联网转载
一、错误描述
最近将springboot从2.x升级到3.x后,服务后台一直报javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 异常,但是服务可以正常访问。
二、原因分析
升级springboot3.x后,项目使用的mysql驱动版本未进行调整,因此分析原因可能是SpringBoot3.x与MYSQL驱动不兼容导致,大多数网友给的解决方案都是数据库连接添加 useSSL=false 的设置,如果不需要SLL认证的话可以这样处理。但是大多数情况下本身就是要求我们用SSL方式连接数据库,那么需要使用SSL方式连接数据库我们应该怎么解决呢?
三、解决方案
1、如果不要求使用SSL方式连接,参考广大网友的方案,数据库连接添加 useSSL=false 的设置即可。
2、如果需要使用SSL方式连接,则需要解决SpringBoot3.x与MYSQL版本不兼容的问题,我们将mysql-connector-java包进行替换即可。
替换前
mysql mysql-connector-java runtime 8.0.13
替换后
com.mysql mysql-connector-j runtime 8.3.0
注意:不只是版本的替换,groupId和artifactId也不一样!
注意:不只是版本的替换,groupId和artifactId也不一样!
注意:不只是版本的替换,groupId和artifactId也不一样!
通过上述依赖包替换后,控制台不再报javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 异常,问题成功解决!