我通过BROKER_URL连接到RabbitMQ vhost时遇到问题。我的vhost名称是navarro,rabbitmqctl显示:
$ rabbitmqctl list_vhosts
/
navarro
$
然而,
BROKER_URL = 'amqp://guest:guest@localhost:5672/navarro'
我在我的日志文件中得到error: [Errno 104] Connection reset by peer
和"access to vhost '/' refused for user 'guest'"
(仅为我的vhost配置了guest,请注意它不是auth问题,而是问题的vhost问题)。
如果我使用
BROKER_URL = 'amqp://guest:guest@localhost:5672//navarro'
我得到了
"access to vhost '/navarro' refused for user 'guest'"
这是有道理的,因为没有vhost /navarro
。但是如何连接到实际的主机navarro
?
写这篇文章我的想法是允许用户也在' /',让你知道它是否有帮助。
这很有帮助,因为任务最终会在' /' vhost而不是navarro中的一个。但是,使用应用程序启动Celery会连接到正确的队列。我认为这两个位置都是由相同的设置定义的。
答案 0 :(得分:0)
没有足够的回复评论,所以留下答案。
您确定用户guest
是否拥有vhost的权限?你做了什么来确保他做到了?
您可以运行:
rabbitmqctl set_permissions -p navarro guest ".*" ".*" ".*"
进入虚拟主机的第一种方式是正确的(只有一个/
)。