You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pika连接RabbitMQ遇ACCESS_REFUSED错误求助

解决RabbitMQ远程连接被拒绝(ACCESS_REFUSED)问题

从你的RabbitMQ日志可以直接定位问题:user 'sw_test' can only connect via localhost——这个用户被标记为loopback用户,仅允许从本地主机(localhost)发起连接,所以远程请求被拒绝。

下面是两种解决方法:

方法1:命令行修改loopback用户配置

  1. 先查看当前的loopback用户列表:
rabbitmqctl list_loopback_users
  1. 根据需求修改配置:
    • 仅保留guest为loopback用户(推荐生产环境):
    rabbitmqctl set_loopback_users guest
    
    • 允许所有用户远程登录(测试环境可用,生产不推荐):
    rabbitmqctl set_loopback_users none
    
  2. 重启RabbitMQ服务生效:
# Ubuntu/Debian 系统
systemctl restart rabbitmq-server
# CentOS/RHEL 系统
service rabbitmq-server restart

方法2:通过RabbitMQ管理界面修改

  1. 登录RabbitMQ管理后台(默认端口15672)
  2. 进入Admin → Users页面,找到sw_test用户
  3. 点击用户右侧的「Edit」按钮
  4. 取消页面底部「Loopback user」的勾选
  5. 点击「Update user」保存,无需重启服务即可生效

验证连接

修改完成后,重新运行你的代码:

credentials = pika.PlainCredentials('sw_test','9999-****-**')
connection_params = pika.ConnectionParameters(host='host-name', port=5672, virtual_host='/', credentials= credentials)

connection= pika.BlockingConnection(connection_params)

即可正常建立连接。

注意:生产环境中请避免设置loopback_users none,仅给需要远程访问的用户取消loopback限制,同时确保用户密码强度足够。

内容的提问来源于stack exchange,提问作者Salome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 16:33:17