Java报错javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peer‘s close_notify解决方法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Java报错javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peer‘s close_notify解决方法

一、问题描述


在利用SpringBoot开发项目时发现控制台中报了javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peer'sclose_notify的错误,但是并没有影响程序的正常运行,网络上搜索了很多种方法都没有解决了,偶然间看到一篇博客写到了解决的方法并成功解决了报错,在此进行记录。

MonSep1309:48:11CST2021WARN: Caughtwhiledisconnecting...
EXCEPTIONSTACKTRACE:
**BEGINNESTEDEXCEPTION**javax.net.ssl.SSLExceptionMESSAGE: closinginboundbeforereceivingpeer's close_notifySTACKTRACE:
javax.net.ssl.SSLException: closinginboundbeforereceivingpeer's close_notifyatjava.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
atjava.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
atjava.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:356)
atjava.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:312)
atjava.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:303)
atjava.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:817)
atjava.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:796)
atcom.mysql.cj.protocol.a.NativeProtocol.quit(NativeProtocol.java:1312)
atcom.mysql.cj.NativeSession.quit(NativeSession.java:182)
atcom.mysql.cj.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:1750)
atcom.mysql.cj.jdbc.ConnectionImpl.close(ConnectionImpl.java:720)
atcom.zaxxer.hikari.pool.PoolBase.quietlyCloseConnection(PoolBase.java:143)
atcom.zaxxer.hikari.pool.HikariPool.lambda$closeConnection$1(HikariPool.java:451)
atjava.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
atjava.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
atjava.base/java.lang.Thread.run(Thread.java:832)
**ENDNESTEDEXCEPTION**

二、解决方法


在配置文件中数据库连接的url属性中加入useSSL=false即可解决

yml文件格式:

##数据源配置spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/数据库名称?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=falseusername: 用户名password: 密码

二、解决方法


在配置文件中数据库连接的url属性中加入useSSL=false即可解决

yml文件格式:

##数据源配置spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/数据库名称?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=falseusername: 用户名password: 密码

properties文件格式:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/数据库名称?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=falsespring.datasource.username=用户名spring.datasource.password=密码

总结


在开发项目的过程中并未直观的感觉到SSL证书连接异常会带来什么样的后果,在查阅资料之后才发现,SSL证书的连接对网站的安全性

有着至关重要的作用,SSL证书是一种安全性高的数字证书,该证书配置在服务器上之后,能够更好的提高网站的安全性,给网站更好的安全防护。

如果SSL证书连接异常,将会带来以下的后果:(以下内容转自一位大佬的博客,仅供个人学习使用)

  1. 网站安全性下降:企业给网站配置SSL证书的目的就是保护网站安全,提高网站的安全性。但是一旦SSL证书连接异常,将无法起到保护网站的所用,这种情况下网站的安全性就会大大的下降。
  2. 信息会发生泄露:如果网站配置了SSL证书,就可以让信息加密传输,可以防止信息泄露出去。然而当SSL证书发生连接异常后,对传输的信息将起不到加密作用,这种情况下,客户端和服务器之间的信息传输就更容易被泄露出去。

以上便是javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peer's close_notify错误的解决方法以及SSL证书连接异常时会带来的影响

image.png

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
26 0
|
1天前
|
Java Kotlin
java调用kotlin代码编译报错“找不到符号”的问题
java调用kotlin代码编译报错“找不到符号”的问题
16 10
|
2天前
|
Kubernetes 网络协议 Java
容器服务Kubernetes版产品使用合集之遇到报错"java.lang.NoClassDefFoundError"如何解决
容器服务Kubernetes版,作为阿里云提供的核心服务之一,旨在帮助企业及开发者高效管理和运行Kubernetes集群,实现应用的容器化与微服务化。以下是关于使用这些服务的一些建议和合集,涵盖基本操作、最佳实践、以及一些高级功能的使用方法。
16 2
|
2天前
|
前端开发 Java 应用服务中间件
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
15 0
|
2天前
|
Arthas 安全 Java
java服务报错 FileNotFoundException:打开的文件过多
java服务报错 FileNotFoundException:打开的文件过多
16 0
|
2天前
|
Java 测试技术 Maven
Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
Spring Boot单元测试报错java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]
|
2天前
|
Java 微服务
IDEA报错There is insufficient memory for the Java Runtime Environment to continue.
IDEA报错There is insufficient memory for the Java Runtime Environment to continue.
|
2天前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之DataWorks在调用java sdk的createFile功能时报错com.aliyuncs.exceptions.ClientException: 1201111000 如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
12 1
|
2天前
|
JavaScript Serverless API
Serverless 应用引擎操作报错合集之在Serverless 应用引擎中,FC3.0读取response body的时候出现错误提示"Caused by: java.io.IOException: closed"如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
31 3
|
2天前
|
Java Spring
【Java】配置多数据源报错循环依赖
【Java】配置多数据源报错循环依赖
26 1