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

Mac环境下Node.js连接RabbitMQ遇ECONNREFUSED ::1:5672错误求助

RabbitMQ连接失败(ECONNREFUSED ::1:5672)排查方案

问题重现

运行send.js时触发错误:

Error: connect ECONNREFUSED ::1:5672
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1284:16) {
errno: -61,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '::1',
port: 5672
}

已完成brew安装、启动服务、安装amqplib,服务状态显示正常,但仍无法连接。

排查与解决步骤

  • 强制使用IPv4连接
    你的代码可能默认用localhost连接,而系统将localhost解析为IPv6地址::1,但RabbitMQ可能未开启IPv6监听。修改连接字符串为:

    const connection = await amqp.connect('amqp://127.0.0.1');
    

    替换原来的amqp://localhost,再重新运行send.js。

  • 检查RabbitMQ端口监听情况
    执行以下命令查看5672端口的监听状态:

    lsof -i :5672
    

    如果输出中只有0.0.0.0:5672(IPv4),没有::1:5672(IPv6),说明RabbitMQ未监听IPv6。

  • 配置RabbitMQ开启IPv6监听

    1. 找到brew安装的RabbitMQ配置文件,路径通常为/usr/local/etc/rabbitmq/rabbitmq.conf
    2. 添加或修改以下配置项:
      listeners.tcp.default = ::5672
      
    3. 重启RabbitMQ服务:
      brew services restart rabbitmq
      

    再次用lsof -i :5672确认已监听::1:5672。

  • 验证RabbitMQ管理界面
    访问http://localhost:15672,用默认账号guest/guest登录,确认服务正常运行,能看到连接统计信息。

  • 排查本地防火墙/安全软件
    部分防火墙或安全软件可能拦截IPv6本地连接,暂时关闭相关软件后重试,若恢复正常则添加对应允许规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:31:03