访问被拒绝 - 使用认证机制PLAIN RabbitMQ Queue拒绝登录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问被拒绝 - 使用认证机制PLAIN RabbitMQ Queue拒绝登录相关的知识,希望对你有一定的参考价值。

我正在尝试使用RabbitMQ从一个应用程序发布消息并在另一个应用程序中接收它们。我可以使用localhost发布消息。

ex:  amqp://guest:guest@localhost:5672

当我试图使用不同的Ip发布消息得到以下提到异常。

com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED-Login was refused using authentication mechanism PLAIN. For details see the broker logfile.

示例代码:

private  Connection getConnection(){
    Connection connection = null;
    try {
        ConnectionFactory factory = new ConnectionFactory();
        final URI uri = URI.create(PropertyReader.read("rabbit.mq.uri").trim());
        factory.setConnectionTimeout(30000);
        factory.setAutomaticRecoveryEnabled(true);
        factory.setTopologyRecoveryEnabled(true);
        factory.setNetworkRecoveryInterval(10000);
        factory.setExceptionHandler(new DefaultExceptionHandler());
        factory.setRequestedHeartbeat(360); 
        factory.setUri(uri);

        connection = factory.newConnection();
        LOGGER.info("Rabbit MQ Connection established successfully");
    } catch (Exception e) {
        LOGGER.error("Error { }"+e);
    } 
    return connection;
}

我需要帮助。

使用telnet我检查提供了IP。

答案

guest用户默认只能连接到localhostsee the documentation

“guest”用户只能通过localhost连接

默认情况下,禁止访客用户远程连接到代理;它只能通过环回接口(即localhost)连接。这适用于AMQP 0-9-1以及通过插件启用的任何其他协议。您创建的任何其他用户都不会(默认情况下)以这种方式受到限制。

这是通过配置文件中的loopback_users项配置的。

如果您希望允许guest用户从远程主机进行连接,则应将loopback_users配置设置为none

...

以上是关于访问被拒绝 - 使用认证机制PLAIN RabbitMQ Queue拒绝登录的主要内容,如果未能解决你的问题,请参考以下文章

(转)Openfire 中SASL的认证方式之:PLAIN,DIGEST-MD5,anonymous

kafka使用SASL/PLAIN认证

kakfa 安全机制

kafka sasl/plain安全认证

基本认证机制

基本认证机制