我创建vhost:
rabbitmqctl add_vhost test
则用户:
rabbitmqctl add_user user 123456
然后我将权限授予该用户:
rabbitmqctl set_permissions -p test user "test" "test" "test"
我在tasks.py中使用芹菜:
app = Celery('tasks', broker='amqp://user:123456@localhost/test', backend='amqp://user:123456@localhost/test')
然后我跑:
celery -A tasks worker --loglevel=info
我有错误:
amqp.exceptions.AccessRefused: Exchange.declare: (403) ACCESS_REFUSED - access to exchange 'celeryev' in vhost 'test' refused for user 'user'
怎么解决?
如果您仍然有错误,请检查您是否有正确的双引号(发生在我身上)
而不是
当然,列出vhostpath中用户的权限(默认情况下为/)
请查看此处的设置权限:https://www.rabbitmq.com/man/rabbitmqctl.1.man.html#Access%20control
当您调用set_权限时,您正在通过“test”进行配置、读取和写入,因此您的用户只能使用名为“test”的队列/交换
另外,还可以查看此链接:https://www.rabbitmq.com/access-control.html
Lexsoul提到双引号可能是错误的类型, 例如:
我没有工作所以我试着:
那么
为我工作。
相关问题 更多 >
编程相关推荐