当前位置:   article > 正文

javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 错误解决,同时支持开启SSL认证_closing inbound before receiving peer's close noti

closing inbound before receiving peer's close notify2

一、错误描述

最近将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包进行替换即可。

替换前

  1. <!-- mysql -->
  2. <dependency>
  3. <groupId>mysql</groupId>
  4. <artifactId>mysql-connector-java</artifactId>
  5. <scope>runtime</scope>
  6. <version>8.0.13</version>
  7. </dependency>

替换后

  1. <!-- mysql -->
  2. <dependency>
  3. <groupId>com.mysql</groupId>
  4. <artifactId>mysql-connector-j</artifactId>
  5. <scope>runtime</scope>
  6. <version>8.3.0</version>
  7. </dependency>

注意:不只是版本的替换,groupId和artifactId也不一样!

注意:不只是版本的替换,groupId和artifactId也不一样!

注意:不只是版本的替换,groupId和artifactId也不一样!

通过上述依赖包替换后,控制台不再报javax.net.ssl.SSLException: closing inbound before receiving peer‘s close_notify 异常,问题成功解决!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/872322
推荐阅读
相关标签
  

闽ICP备14008679号