111 communication network_error ai_generated true

AMQPConnectionError:连接到 rabbitmq-host:5672 被拒绝(111)

AMQPConnectionError: connection refused (111) to rabbitmq-host:5672

ID: communication/rabbitmq-connection-refused-ec2

其他格式: JSON · Markdown 中文 · English
80%修复率
85%置信度
1证据数
2023-04-05首次发现

版本兼容性

版本状态引入弃用备注
RabbitMQ 3.12 active
Erlang 26 active
Pika 1.3 active
amqp-node 0.10 active

根因分析

AMQP 客户端无法与 RabbitMQ 服务器建立 TCP 连接,因为服务器未在指定端口上监听、服务已关闭,或防火墙/安全组阻止了入站流量。

English

The AMQP client cannot establish a TCP connection to the RabbitMQ server because the server is not listening on the specified port, the service is down, or a firewall/security group is blocking inbound traffic.

generic

官方文档

https://www.rabbitmq.com/docs/connection#connection-refused

解决方案

  1. Check if RabbitMQ is running: `systemctl status rabbitmq-server` or `rabbitmqctl status`. If not running, start it: `systemctl start rabbitmq-server`.
  2. Verify firewall rules: on Linux, run `sudo ufw status` or `iptables -L -n | grep 5672`. Ensure inbound TCP on port 5672 is allowed. For cloud providers, check security group inbound rules for the instance.
  3. If RabbitMQ is listening on a different interface (e.g., localhost only), update the config file `/etc/rabbitmq/rabbitmq.conf` to bind to `0.0.0.0` or the correct IP: `listeners.tcp.default = 0.0.0.0:5672`. Restart RabbitMQ after changes.

无效尝试

常见但无效的做法:

  1. Change the RabbitMQ username and password in the client 90% 失败

    Changing the RabbitMQ user credentials does not fix the connection refusal because the TCP handshake fails before any authentication occurs.

  2. Increase the AMQP connection timeout to 60 seconds 95% 失败

    Increasing the connection timeout does not help because the error is immediate (connection refused), not a timeout.

  3. Enable TLS/SSL on the AMQP client connection 85% 失败

    Enabling TLS on the client without configuring the server to accept TLS on the same port will still result in connection refusal or a different error.