RabbitMQ on Amazon EC2 Instance & Locally?也有人问过类似的问题 ? 并且 无法从我的桌面连接到 ec2 上的 rabbitmq 但他们收到不同的错误消息。
我有一个 RabbitMQ 服务器在我的 linux EC2 实例上运行,它设置正确。我创建了自定义用户并授予他们读/写队列的权限。使用本地客户端,我能够正确接收消息。我已经在 EC2 上设置了安全组,以便端口 (5672/25672) 处于打开状态并且可以 telnet 到这些端口。我也像这样设置了rabbitmq.conf。
[
{rabbit, [
{tcp_listeners, [{"0.0.0.0",5672}]},
{loopback_users, []},
{log_levels, [{connection, info}]}
]
}
].
Run Code Online (Sandbox Code Playgroud)
目前我在服务器上有一个客户端发布到队列。
我有另一个客户端在 EC2 之外的服务器上运行,它需要使用来自同一个队列的数据(我不能在 EC2 上同时运行这两个客户端,因为消耗做了大量绘图/图形操作)。
然而,当我尝试使用一些测试代码从外部客户端连接时
try {
ConnectionFactory factory = new ConnectionFactory();
factory.setUri("amqp://****:****@****:5672/");
connection = factory.newConnection();
} catch (IOException e) {
e.printStackTrace();
Run Code Online (Sandbox Code Playgroud)
}
我收到以下错误。
com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - 使用 PLAIN 身份验证机制拒绝登录。有关详细信息,请参阅代理日志文件。
但是,代理日志文件中没有任何内容,就好像我从未尝试过连接一样。我试过使用工厂的各个 getter/setter 方法进行连接,我试过使用不同的端口(同时打开它们)。
我想知道我是否需要使用 SSL 或不连接到 EC2,但从网上阅读它似乎应该可以正常工作,但我不确定。我找不到任何成功实现我正在尝试做的事情并记录下来的人的例子。
提前致谢