请阅读上一篇文章的上下文。那个问题就解决了。 重新创建队列并重新连接rabbitMQ
现在,我正在尝试在 rabbitmq 服务器和 rabbit 客户端之间设置启用 ssl 的连接。我正在使用带有弹簧云总线的弹簧靴。没有 SSL,一切都完美无缺。
- 用它来运行 java rabbit 客户端。
> 版本
Java 1.8
spring-cloud-starter-bus-amqp => 1.3.1.RELEASE
Spring Boot 父级 => 1.5.9.RELEASE
sudo java -Djavax.net.debug=all -Dhttps.protocols=TLSv1 -jar target/rabbit-client-0.0.1-SNAPSHOT.jar
也试过 -Dhttps.cipherSuites=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- 我使用了以下命令,它的结果为已验证 [ok]。这告诉我rabbitmq 服务器已正确配置证书。
openssl s_client -connect my.rabbitmq.com:5671 -cert nonprod.crt -key nonprod.key -CAfile nonprod-chain.crt -tls1 -prexit
- 我可以从 chrome 浏览器访问 rabbitmq managemnet 门户,并且它信任证书,因为我在钥匙串中添加了它信任。
- 我已将证书和 CA 证书添加到 java 密钥库并信任它。
- Amqp 客户端无法建立连接并在启用 SSL 时失败。
这是我认为可能存在但不确定的问题。
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLSv1.1 出现在不受支持的密码列表中,可能是 rabbitmq 服务器要求将其作为加密套件。