gpt4 book ai didi

rabbitmq - AMQP 安全连接/加密 URI

转载 作者:行者123 更新时间:2023-12-03 21:39:12 27 4
gpt4 key购买 nike

我想建立从我的 Java 客户端到 RabbitMQ AMQP 消息代理的 AMQP 连接。它实际上工作正常,如 https://www.rabbitmq.com/api-guide.html 中所述.

我正在做:

ConnectionFactory factory = new ConnectionFactory();
factory.setUsername(userName);
factory.setPassword(password);
factory.setVirtualHost(virtualHost);
factory.setHost(hostName);
factory.setPort(portNumber);
Connection conn = factory.newConnection();

或作为等价物,以下内容也一样:
ConnectionFactory factory = new ConnectionFactory();
factory.setUri("amqp://userName:password@hostName:portNumber/virtualHost");
Connection conn = factory.newConnection();

但是我是否正确地假设我在 URI 字符串中的用户名和密码是通过 Internet 以明文形式传输的?如果是这种情况,我想知道如何让这种身份验证更加安全。

最佳答案

默认情况下,amqp 不使用加密。所以是的,就我阅读文档而言,您的用户名确实会在 amqp 协议(protocol)中以纯文本形式发送。
RabbitMQ 支持 amqp 的 tls 加密,如 official rabbitmq documentation 中所述。 .
因此,为了保护您的连接,您必须在 Rabbitmq 中启用 ssl auth 并告诉它在哪里可以找到有效证书。
例如 rabbitmq.conf :

listeners.ssl.default = 5671

ssl_options.cacertfile = /path/to/ca_certificate.pem
ssl_options.certfile = /path/to/server_certificate.pem
ssl_options.keyfile = /path/to/server_key.pem
ssl_options.verify = verify_peer
ssl_options.fail_if_no_peer_cert = false

关于rabbitmq - AMQP 安全连接/加密 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28172168/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com