AKS集群中ActiveMQ Artemis静态集群启用SSL后无法组建报错排查
问题分析与解决方案
核心问题
你的集群节点间的连接器未配置SSL参数,但acceptor已启用SSL,导致集群连接尝试用普通TCP连接SSL端口,握手失败,进而触发授权错误与连接失败。
修复步骤
需为集群通信使用的连接器添加SSL配置,确保节点间的集群通信也通过SSL加密:
Pod 0 配置修改
更新connectors部分,为两个连接器添加SSL参数:
<connectors> <connector name="netty-connector">tcp://10.1.4.211:61616?sslEnabled=true;keyStorePath=/var/lib/artemis/security/vault/my_keystore.jks;keyStorePassword=securepass</connector> <connector name="cluster-peer">tcp://pod1_ip:61616?sslEnabled=true;keyStorePath=/var/lib/artemis/security/vault/my_keystore.jks;keyStorePassword=securepass</connector> </connectors>
Pod 1 配置修改
同理更新connectors部分:
<connectors> <connector name="netty-connector">tcp://10.1.4.212:61616?sslEnabled=true;keyStorePath=/var/lib/artemis/security/vault/my_keystore.jks;keyStorePassword=securepass</connector> <connector name="cluster-peer">tcp://pod0_ip:61616?sslEnabled=true;keyStorePath=/var/lib/artemis/security/vault/my_keystore.jks;keyStorePassword=securepass</connector> </connectors>
额外说明
- 确保所有节点使用的密钥库文件完全一致,密码配置正确,否则SSL握手会直接失败。
- 若使用自签名证书,需额外添加
trustStorePath和trustStorePassword参数,保证节点互相信任对方的证书。 - 当acceptor启用SSL后,所有连接到该acceptor的请求(包括集群节点间的通信)都必须使用带SSL配置的连接器,否则无法建立有效连接。
内容的提问来源于stack exchange,提问作者Subhidh Agarwal
相关产品推荐
相关产品推荐

