【问题标题】:How to access RabbitMq publicly如何公开访问 RabbitMq
【发布时间】:2014-05-26 02:23:59
【问题描述】:

我已经在 Centos 远程服务器上安装并设置了 Rabbitmq。后来我创建了一个文件“rabbitmq.config”并添加了这一行

[{兔子,[{loopback_users,[]}]}]

然后重启rabbitmq服务器。再次尝试使用访客凭据从我的本地计算机登录 rabbitmq 管理 Web 界面,但得到了

登录失败

错误消息。在 Centos 中清空 Rabbitmq 的环回用户设置的正确方法是什么。

【问题讨论】:

  • 你是怎么做到的?
  • 我把这个放在rabbitmq.config,然后重启失败。请注意,您必须在末尾添加一个点,因此正确的上下文是:[{rabbit, [{loopback_users, []}]}].

标签: centos rabbitmq


【解决方案1】:

首先使用ssh客户端连接到你的rabbitmq服务器机器,以便能够运行rabbitmqctl(如puTTY)并进入rabbit安装的sbin目录

  1. 您需要为该系统上的任何 vhost 创建一个用户(这里我使用默认 vhost "/"

$ rabbitmqctl add_user yourName yourPass

  1. 为该用户设置默认虚拟主机的权限

$ rabbitmqctl set_permissions -p / yourName ".*" ".*" ".*"

  1. 为该用户设置管理员标签(使他能够访问管理插件)

$ rabbitmqctl set_user_tags yourName administrator

...您已准备好使用yourNameyourPass 从任何浏览器通过将其指向http://"*********":15672 登录到您的rabbitmq 管理gui,其中***** 是您的服务器IP 希望对您有所帮助...

:-)

【讨论】:

    【解决方案2】:

    有一个示例配置文件,在 centos 上做:

    cp /usr/share/doc/rabbitmq-server-3.4.2/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
    

    查找并删除 cmets(和逗号):

    {loopback_users, []}
    

    然后,停止rabbitmq:

    rabbitmqctl stop
    

    现在启动服务器:

    service rabbitmq-server start
    

    现在用户“guest”可以从任何地方访问。

    【讨论】:

    • 这工作:) 在我的机器上,示例文件是一个 gzip 文件
    【解决方案3】:

    从 RabbitMQ 3.3.0 开始,您不能使用默认的访客/访客凭据,除非通过 localhost,(有关详细信息,请参阅 release notes for 3.3.0)。

    作为一种可能的解决方案,您可以(并且可能应该)创建自定义安全用户以用于监控、管理等。

    您也可以使用proxy setup

    PS:

    如果您启用了loopback_users,请检查是否加载了正确的配置(用于运行NODENAME),它是格式正确的(具有有效的语法并以. 结尾),管理插件已激活并启动并且不存在防火墙阻止规则.

    附:

    检查默认用户是guest,它存在并且有默认(guest)密码。如果您使用某个库来访问 RabbitMQ,请检查它是否具有与远程相同的默认值 (guest:guest) 或明确指定它们。

    【讨论】:

    • 他创建了rabbitmq.config文件:“如果你希望允许guest用户从远程主机连接,你应该将loopback_users配置项设置为[]”rabbitmq.com/access-control.html
    • 是的,我错过了这一点。感谢您的通知。我已经更新了我的建议以检查常见的陷阱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多