ActiveMQ Artemis 2.30.0+双认证失败报SASL错误,求排查方向
ActiveMQ Artemis升级后双认证连接失败问题
我们在AWS ECS的Docker容器中运行ActiveMQ Artemis 2.29.0,已配置双认证。
当前配置
broker.xml的acceptor配置
我们的broker.xml仅配置了一个5671端口的acceptor:
<acceptor name="amqps">tcp://0.0.0.0:5671?sslEnabled=true;keyStorePath=/data/certs/apache-activemq-artemis-keystore.ks;keyStorePassword=REPLACE_WITH_KEYSTORE_PASSWORD;trustStorePath=/data/certs/apache-activemq-artemis-truststore.ts;trustStorePassword=REPLACE_WITH_TRUSTSTORE_PASSWORD;enabledProtocols=TLSv1.2;tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=AMQP;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;handshake-timeout=0</acceptor>
Docker启动脚本配置
Docker镜像构建时会复制上述配置文件,docker-run.sh与Apache官方版本基本一致,末尾内容如下:
echo "Copying our broker configuration to ${CONFIG_PATH}" cp $BROKER_XML "${CONFIG_PATH}/broker.xml" echo "Executing ./bin/artemis $@" exec ./bin/artemis "$@"
问题现象
2.29.0版本中双认证可正常工作,我们使用最新版rhea npm模块连接Node.js微服务至消息代理。但升级至2.30.0及以上版本后,微服务无法连接,抛出错误:
2024-01-19T15:41:59.574Z amqpConnector:debug Connection to the AMQP broker was disconnected ProtocolError: SASL layer not enabled at Transport.read (/src/node_modules/rhea/lib/transport.js:87:27) at Connection.input (/src/node_modules/rhea/lib/connection.js:567:37) at TLSSocket.emit (node:events:514:28) at TLSSocket.emit (node:domain:488:12) at addChunk (node:internal/streams/readable:545:12) at readableAddChunkPushByteMode (node:internal/streams/readable:495:3) at Readable.push (node:internal/streams/readable:375:5) at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23)
排查情况
参考2.31.2版本的双认证示例配置,确认当前配置逻辑应正常运行;查看2.30.0版本的发布说明,未发现会导致双认证失效的相关变更。
疑问
请问我遗漏了什么配置或步骤?是否需要提交Bug报告?
内容的提问来源于stack exchange,提问作者Alessandro
相关产品推荐
相关产品推荐

