Cla*_*len 5 ssl spring rabbitmq docker
我一直在尝试在启用 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 中的 callen 启动)
2018 年 1 月 11 日 11:12:57.396 信息 17786 --- [主要] nkrrRabbitConsumerApplicationTests:未设置活动配置文件,回退到默认配置文件:默认
2018-01-11 11:12:57.482 INFO 17786 --- [main] scaAnnotationConfigApplicationContext:刷新 org.springframework.context.annotation.AnnotationConfigApplicationContext@36b4fe2a:启动日期 [1 月 11 日星期四 11:12:57];EST 上下文层次结构的根
2018-01-11 11:12:58.351 INFO 17786 --- [main] trationDelegate$BeanPostProcessorChecker : [org.springframework.amqp.RabbitBootstrapConfiguration' 类型的 Bean 'org.springframework.amqp.rabbit.annotation.RabbitBootstrapConfiguration' $$EnhancerBySpringCGLIB$$3062a902] 没有资格被所有 BeanPostProcessor 处理(例如:没有资格进行自动代理)
2018-01-11 11:12:59.423 INFO 17786 --- [main] oscsupport.DefaultLifecycleProcessor:在 2147483647 阶段启动 bean
2018-01-11 11:12:59.529 错误 17786 --- [container-1] osarlSimpleMessageListenerContainer:无法检查/重新声明自动删除队列。
org.springframework.amqp.AmqpIOException:javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接
在 org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:71) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
在 org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:368) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
在 org.springframework.amqp.rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:573) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
在 org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java:1430) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
在 org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1411) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
在 org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1387) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
在 org.springframework.amqp.rabbit.core.RabbitAdmin.getQueueProperties(RabbitAdmin.java:336) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
在 org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.redeclareElementsIfNecessary(SimpleMessageListenerContainer.java:1171) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
在 org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1422) [spring-rabbit-1.7.4.RELEASE.jar:na]
在 java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]
引起:javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接
在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1002) ~[na:1.8.0_151]
在 sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385) ~[na:1.8.0_151]
在 sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:757) ~[na:1.8.0_151]
在 sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) ~[na:1.8.0_151]
在 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) ~[na:1.8.0_151]
在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) ~[na:1.8.0_151]
在 java.io.DataOutputStream.flush(DataOutputStream.java:123) ~[na:1.8.0_151]
在 com.rabbitmq.client.impl.SocketFrameHandler.sendHeader(SocketFrameHandler.java:147) ~[amqp-client-4.0.3.jar:4.0.3]
在 com.rabbitmq.client.impl.SocketFrameHandler.sendHeader(SocketFrameHandler.java:153) ~[amqp-client-4.0.3.jar:4.0.3]
在 com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:285) ~[amqp-client-4.0.3.jar:4.0.3]
在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:909) ~[amqp-client-4.0.3.jar:4.0.3]
在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:859) ~[amqp-client-4.0.3.jar:4.0.3]
在 com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:799) ~[amqp-client-4.0.3.jar:4.0.3]
在 org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:352) ~[spring-rabbit-1.7.4.RELEASE.jar:na]
...省略了8个常用帧
引起:java.io.EOFException:SSL peer 关闭不正确
在 sun.security.ssl.InputRecord.read(InputRecord.java:505) ~[na:1.8.0_151]
在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983) ~[na:1.8.0_151]
...省略了21个常用帧
你说呢,好人?
| 归档时间: |
|
| 查看次数: |
4224 次 |
| 最近记录: |