我一直在尝试在启用 ssl 的 docker 中运行的 rabbit MQ 上发送和接收消息。我首先让 Spring Boot 应用程序在没有 ssl 的情况下工作。在本地主机上运行所有内容后,我成功地使用 dockerized rabbit MQ 发送和接收消息。但是现在,在 dockerized rabbit MQ 中启用了 ssl auth 插件后,我收到一条奇怪的消息,声称
o.s.a.r.l.SimpleMessageListenerContainer : Failed to check/redeclare auto-delete queue(s).
Run Code Online (Sandbox Code Playgroud)
当我通过 Web 控制台查看 dockerized rabbit 实例时,我发现根本没有队列。如果我停止并重新启动容器,我会得到相同的结果。
我已按照Jeff Becker 的博客的建议将 rabbit MQ 指向此配置
配置文件如下所示:
%% -*- 模式:erlang -*-
[
{兔子, [
{ssl_listeners, [5671]},
{ssl_options, [{cacertfile,"/home/callen/.ssh/private_key.pem"},
{certfile,"/home/callen/.ssh/private_key.pem"},
{keyfile,"/home/callen/.ssh/public_key.pem"},
{验证,verify_none},
{fail_if_no_peer_cert,false}]}
]}
]。
这是来自 Spring boot 应用程序的堆栈跟踪:
2018-01-11 11:12:57.395 INFO 17786 --- [main] nkrrRabbitConsumerApplicationTests:在 localhost.localdomain 上启动 RabbitConsumerApplicationTests,PID 为 17786(由 /home/callen/Projects/rabbit-consumer …