org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect
关于用springcloudstream连接虚拟机的RabbitMQ遇到
默认情况下,guest用户被禁止通过远程连接到RabbitMQ,它只能用localhost连接。你自己创建的其它的用户不会受限于这一条。
这个配置是通过配置文件中的loopback_users来设置的。
如果你希望guest用户从远程主机连接上来,你可以在/etc/rabbitmq/rabbitmq.conf设置loopback_users为none。一个完整的配置应该是这样的:
或者在rabbitmq.config中这样配置:
如果是docker安装的话:
1 需要先进入docker容器找到文件位置 docker exec -it f76b7e25baa9 /bin/bash
2 可以发现rabbitmq.conf在 /etc/rabbitmq/ 目录下面
3 此时需要修改文件,直接修改会显示 not found 需要复制到本机进行修改然后复制回去
sudo docker cp f76b7e25baa9:/etc/rabbitmq/rabbitmq.config /home/ss
4 修改完成后复制回去 sudo docker cp /home/ss f76b7e25baa9:/etc/rabbitmq/rabbitmq.config
如果要修改 rabbitmq.config 需要找到文件:
find -name rabbitmq.config
然后同上方法修改。
我的rabbitmq.config 默认是没有问题的,所以最终是修改rabbitmq.conf中loopback_users的值为none最后成功