应用不能远程访问RabbitMQ的5672端口

本文介绍了解决RabbitMQ无法远程访问的问题。通过添加用户、设置权限、修改配置等步骤,实现RabbitMQ的远程连接,适用于SpringBoot项目的部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.背景

2.环境

3.步骤

1)添加用户

2)设置权限

3)停止服务

4)修改配置

5)启动rabbitmq的服务

6)应用配置

4.参考文档


1.背景

在使用SpringBoot开发的应用中,使用到RabbitMQ,需要通过5672端口访问,但启动就报类似socket closed这样的错误。后来网上找了资料,发现是由于该端口默认不支持远程连接导致。

因此这里,记录一下解决该问题的过程,为同样遇到问题的“道友”提供思路。

2.环境

SpringBoot:2.2.2.RELEASE

RabbitMQ:rabbitmq-server-3.7.14

3.步骤

1)添加用户

由于RabbitMQ默认的guest用户不支持远程访问,这里新增加一个用户:admin。

方式一:网页上添加用户

A. 进入http://localhost:15672,登录:guest/ guest;

B. 点击tab,切换到“Admin”;

C.在“Add user”下方的输入框中添加用户名和密码,这里为admin/ admin,点击按钮“Add user”。

2)设置权限

A.添加成功后,上方列表中出现该记录,点击列表Name中的“admin”,修改权限;

B.如下图所示权限设定后,点击 Set permission。

方法二:命令行

# rabbitmqctl add_user admin admin
# rabbitmqctl set_user_tags csh administrator
# rabbitmqctl set_permissions -p / csh “.” “.” “.*”

3)停止服务

停止rabbitmq的所有服务(windows为例,在rabbitmq的安装目录bin目录下执行):

rabbitmq-service stop

4)修改配置

A.配置文件: <安装目录>\RabbitMQ Server\rabbitmq_server_3.7.14\etc\rabbitmq.config.example

B.去掉注释符号%%,增加用户:

%% ... 
{tcp_listeners, [5672]},
{loopback_users, ["admin"]},
...

5)启动rabbitmq的服务

rabbitmq-service start

6)应用配置

SpringBoot应用中,application.yml文件中的配置

spring:
  application:
    ...
  
  rabbitmq:
    host: xxx.xxx.xxx.xxx   # rabbitmq server所在的主机IP
    port: 5672
    username: admin        # 前面步骤中创建的用户名
    password: admin        # 前面步骤中创建的密码

4.参考文档

https://blog.youkuaiyun.com/fanyuna/article/details/48680553

https://blog.youkuaiyun.com/u011642663/article/details/54691733

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值