Apache Ignite 2.17.0启动时TLS警告问题咨询
Apache Ignite 2.17.0 TLSv1.3 SSL警告问题解答
1. 该警告是否属于预期或无害?
这个javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify警告在Ignite 2.17.0的当前实现中属于预期且无害。它是TLS协议层面的优雅关闭流程未被严格遵守导致的日志输出,并非功能性故障。
Ignite节点在集群组建过程中会建立临时SSL连接,用于节点发现、握手认证等一次性操作。部分连接完成任务后会被主动关闭,但关闭时未等待对方发送close_notify报文(TLS规范要求的双向关闭步骤),进而触发JDK SSL层的警告。但集群核心的通信连接是正常建立并维持的,因此集群能成功组建,业务功能不受影响。
官方追踪该问题的IGNITE-16496工单目前处于开放状态,说明官方尚未修复日志输出问题,但已确认该警告不影响集群功能。
2. 已知缓解措施或配置
目前有两种可行方案处理该警告:
- 调整日志级别过滤警告:在Ignite的日志配置(如log4j2.xml、SLF4J配置)中,将
javax.net.ssl的日志级别设置为ERROR,屏蔽该警告。以log4j2为例的配置示例:<Logger name="javax.net.ssl" level="ERROR" additivity="false"> <AppenderRef ref="CONSOLE"/> <AppenderRef ref="FILE"/> </Logger> - 临时降级TLS版本:通过
SslContextFactory将TLS版本指定为TLSv1.2,该警告在TLSv1.2环境下出现概率极低。但这是妥协方案,仅适用于对TLSv1.3无强制要求的场景,不推荐长期使用。
连接关闭场景与集群组建的疑问解答
连接关闭的场景与主体
警告对应的连接关闭发生在节点初始化阶段的临时SSL连接:
- 节点启动时会发起多个临时SSL连接,用于节点发现、身份验证、元数据交换等一次性初始化操作;
- Ignite网络层在这些临时连接完成任务后,直接关闭连接,未遵循TLS双向关闭流程(先发送
close_notify并等待对方响应),单方面关闭入站通道,从而触发JDK SSL层的警告。
为何SSL连接关闭后集群仍能组建?
警告涉及的是临时辅助连接,而非集群维持正常通信的核心连接:
- 集群组建依赖的是节点间建立的长期核心通信连接(用于数据同步、心跳检测等),这些连接会严格遵循TLS生命周期管理,不会出现此类关闭问题;
- 临时连接仅用于一次性初始化操作,完成后即不再需要,因此即使这些连接触发警告,也不会影响集群核心功能的正常运行。
内容的提问来源于stack exchange,提问作者Nandhini S
相关产品推荐
相关产品推荐

