RabbitMQ默認只有一個guest帳號,guest帳號只能在RabbitMQ安裝服務器上登錄,在其它服務器用guest登錄提示User can only log in via localhost。
這個情況的最佳解決辦法是添加一個新的帳號
進入RabbitMQ安裝目錄 D:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin
#第一步:添加 admin 用戶並設置密碼 rabbitmqctl add_user admin 123456 #第二步:添加 admin 用戶為administrator角色 rabbitmqctl set_user_tags admin administrator #第三步:設置 admin 用戶的權限,指定允許訪問的vhost以及write/read rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" #第四步:查看vhost(/)允許哪些用戶訪問 rabbitmqctl list_permissions -p / #第五步:查看用戶列表 rabbitmqctl list_users #第六步:配置允許遠程訪問的用戶,rabbitmq的guest用戶默認不允許遠程主機訪問。 在windows 下的 rabbitmq安裝文件下的etc文件下的配置文件添加以下 [ {rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["賬戶名"]}]} ].
輸出提示:
rabbitmqctl add_user admin 666666
Adding user "admin" ...
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
rabbitmqctl list_permissions -p /
Listing permissions for vhost "/" ...
user configure write read
guest .* .* .*
admin .* .* .*
rabbitmqctl list_users
Listing users ...
user tags
admin [administrator]
guest [administrator]