我的 rabbitmq 服务放在 docker 容器里,镜像使用的是带后台管理界面的版本 rabbitmq:management
application.properties 里的 rabbitmq 配置
spring.rabbitmq.host=192.168.11.41
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=admin
spring.rabbitmq.virtual-host=/
这里没有使用默认的 guest 用户,如果不修改用户的话,不需要修改后面的配置文件,guest 用户默认支持远程访问
# 创建容器,rabbitmq 默认用户为 guest,我这里修改为 admin
docker run -d --name myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
由于修改了默认用户,所以我们需要修改一下容器里 rabbitmq 的配置文件,以支持 admin 用户远程访问
# 进入容器
docker exec -it myrabbitmq bash
# 获取 rabbitmq 配置文件路径
whereis rabbitmq
修改配置文件 rabbitmq.conf,详细说明请查看官网 访问控制 配置文件说明
default_pass = admin
default_user = admin
# 配置好下面这一句,让 admin 用户可以远程访问
loopback_users.admin = false
listeners.tcp.default = 5672
management.tcp.port = 15672
loopback_users.guest = false
loopback_users.guest = false 是容器每次重启之后自动生成的,我们不用管它。
springboot 正常启动,rabbitmq 后台正常登录(后台登录不需要远程访问支持)