WSO2 APIM 4.1分布式部署出现SSL peer shut down incorrectly错误求助
针对控制平面与流量管理器节点持续抛出javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake错误,即便SSL/密钥库配置无明显问题,可从以下方向排查:
网络连通性限制:异常环境可能存在防火墙、安全组或网络ACL规则,阻断了Databridge通信端口(默认9711、9611等)的双向流量,导致SSL握手未完成就被中断。可通过
nc -zv <目标节点IP> 9711或telnet <目标节点IP> 9711测试端口连通性。JDK版本/配置差异:两个环境使用的JDK版本不一致,或JDK的SSL协议、加密套件配置不同,会导致握手协商失败。执行
java -version对比JDK版本,同时检查java.security文件中jdk.tls.disabledAlgorithms等SSL相关配置是否一致。节点时间同步异常:SSL握手依赖证书有效期验证,若节点间系统时间差超过证书允许的时间偏差(通常5分钟以上),会触发证书验证失败,对方节点主动终止握手。用
date命令检查所有节点时间,确保通过NTP服务同步时间。Databridge配置参数不匹配:自动化脚本部署后,异常环境的
deployment.toml可能被环境变量或其他配置覆盖,导致控制平面与流量管理器的Databridge SSL配置不一致(如SSL协议版本、加密套件设置不同)。对比两个环境的deployment.toml中[databridge.receiver.ssl]、[apim.datamapping]等相关配置段。节点资源不足:异常环境的节点内存、CPU资源耗尽,导致SSL握手过程中进程被系统强制中断。通过
top、htop查看资源使用率,同时检查节点日志是否存在OOM(OutOfMemoryError)相关报错。证书链完整性问题:密钥库中缺少中间证书,导致对方节点无法完整验证证书信任链,主动终止握手。执行
keytool -list -v -keystore <密钥库路径>对比两个环境的密钥库内容,确认证书链包含根证书、中间证书及节点证书。
内容的提问来源于stack exchange,提问作者Soufiane

