Django Celery RabbitMQ访问被拒绝(403) ACCESS_REFUSED

报错代码:(403) ACCESS_REFUSED - Login was refused using authentication mechanism PLAI(省略)

 

解决方案:

    在rabbitmq中注册用户

具体代码实现:

列出用户
rabbitmqctl list_users
ps:一般只有一个guest用户

ps:在 Windows 上,rabbitmqctl变为rabbitmqctl.bat并且 shell 转义会有所不同

添加用户
rabbitmqctl add_user 用户名 密码

配置用户角色
rabbitmqctl set_user_tags 用户名 角色
(总共五种角色)

配置权限
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"


最后再列出用户查看是否生成  除此以外你还可以在rabbitmq web端 进行用户添加

 

再试着启动celery 应该可以了

 

 

RabbitMQ的用户角色分类:
none、management、policymaker、monitoring、administrator

RabbitMQ各类角色描述:
none
不能访问 management plugin

management

用户可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts  
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和关闭自己的channels 和 connections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。

policymaker 
management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policies和parameters

monitoring  
management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息

administrator   
policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections

 

posted @ 2022-11-16 18:42  ji哩咕噜  阅读(990)  评论(0)    收藏  举报