远程访问新安装的RabbitMQ时,在连接的时候会报错:
ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
这个是因为RabbitMQ的默认用户guest只允许本机链接,如果需要开放远程访问,则需要添加用户才可以。
添加用户和分配权限
rabbitmqctl add_user spider 123456
Adding user "spider" ...
分配权限
rabbitmqctl set_permissions -p / spider ".*" ".*" ".*"
Setting permissions for user "spider" in vhost "/" ...
注:".*" ".*" ".*"的意思分别是config、write、read
创建用户和分配权限后,就可以正常登录了。
RabbitMQ用户管理命令:
# 在rabbitmq的内部数据库添加用户;
add_user <username> <password>
# 删除一个用户;
delete_user <username>
# 改变用户密码(也是改变web管理登陆密码);
change_password <username> <newpassword>
# 清除用户的密码,该用户将不能使用密码登陆,但是可以通过SASL登陆如果配置了SASL认证;
clear_password <username>
# 设置用户tags;
set_user_tags <username> <tag> ...
# 列出用户;
list_users
# 创建一个vhosts;
add_vhost <vhostpath>
# 删除一个vhosts;
delete_vhost <vhostpath>
# 列出vhosts;
list_vhosts [<vhostinfoitem> ...]
# 针对一个vhosts给用户赋予相关权限;
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
# 清除一个用户对vhosts的权限;
clear_permissions [-p <vhostpath>] <username>
# 列出哪些用户可以访问该vhosts;
list_permissions [-p <vhostpath>]
# 列出该用户的访问权限;
list_user_permissions <username>
set_parameter [-p <vhostpath>] <component_name> <name> <value>
clear_parameter [-p <vhostpath>] <component_name> <key>
list_parameters [-p <vhostpath>]
登录未设置凭证错误提示:
AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
未授权错误提示:
OperationInterruptedException: The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=530, text='NOT_ALLOWED - access to vhost '/' refused for user 'spider'', classId=10, methodId=40