记一次报错解决:payload=non-loopback access denied

最近在部署springboot stomp rabbitmq时候遇到一个问题,记录下排查过程:

2022-01-29 17:02:15.700 ERROR 172512 --- [ent-scheduler-4] o.s.m.s.s.StompBrokerRelayMessageHandler : Received ERROR {message=[Bad CONNECT], content-type=[text/plain], version=[1.0,1.1,1.2], content-length=[26]} session=_system_ text/plain payload=non-loopback access denied

遇到问题第一是在stackoverflow上找到答案:

https://stackoverflow.com/questions/45281024/non-loopback-access-denied-error-while-configuring-spring-websocket-with-rabbitm

image


按照指示,发现了问题,guest用户只允许从localhost访问。 我的rabbitmq部署在另外一台虚机,web服务又是一台虚机,所以爆出了这个错误。

image


查看loopback_users的意思,设置成none就可以允许guest用户远程访问了。

image

查看rabbitmq的配置文件位置,在里面搜索Config files

rabbitmq-diagnostics status

我是用的是3.7版本,命令里面没有Config files信息。 又通过查看rabbitmq启动日志发现:

Config files: none

于是指定下rabbitmq配置文件(注意这里最后一个rabbitmq是指配置文件,不带.conf)


echo "CONFIG_FILE=/usr/local/software/rabbitmq_software/rabbitmq_server-3.7.16/etc/rabbitmq/rabbitmq" > /etc/rabbitmq/rabbitmq-env.conf

echo "loopback_users = none" > /etc/rabbitmq/rabbitmq.conf


重启rabbitmq

rabbitmqctl stop

rabbitmq-server -detached

查看启动文件,确实加载了配置文件

image

我们的程序也顺利连上了.

image

posted @ 2022-01-29 18:10  吕彬彬  阅读(474)  评论(0)    收藏  举报