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

使用AdonisJS 5连接RabbitMQ时握手阶段连接意外关闭求助

解决RabbitMQ "Socket closed abruptly during opening handshake" 错误

核心问题排查与修复步骤

1. 修正RabbitMQ端口配置

你当前配置的RABBITMQ_PORT=15672是RabbitMQ管理控制台的端口,AMQP协议的默认通信端口是5672,这是导致握手失败的最常见原因。修改.env中的端口:

RABBITMQ_PORT=5672

2. 清理协议配置的多余引号

你的RABBITMQ_PROTOCOL= 'amqp://'包含多余的单引号,会导致连接字符串解析错误,去掉引号:

RABBITMQ_PROTOCOL=amqp://

3. 补充默认用户名密码(未修改RabbitMQ默认配置时)

RabbitMQ默认的用户名和密码都是guest,如果没自定义过账号,需要填写:

RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest

注意:默认情况下RabbitMQ只允许localhost来源的请求使用guest账号,本地开发场景直接使用即可;若为远程连接,需修改RabbitMQ配置文件放开限制。

4. 验证RabbitMQ服务状态

确保RabbitMQ服务正在运行,不同系统可通过以下方式检查:

# macOS/Linux
rabbitmqctl status

# Windows(PowerShell)
Get-Service RabbitMQ

5. 检查AdonisJS客户端连接字符串构建逻辑

确保代码中正确拼接环境变量,示例:

const connectionString = `${process.env.RABBITMQ_PROTOCOL}${process.env.RABBITMQ_USER}:${process.env.RABBITMQ_PASSWORD}@${process.env.RABBITMQ_HOSTNAME}:${process.env.RABBITMQ_PORT}`

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 18:20:38