RabbitMQ Connection, Channel & Auth Errors
The failures that stop a client ever reaching a queue: connection refused on 5672, a login that is refused (ACCESS_REFUSED), the wrong vhost, a TLS handshake that fails, missed heartbeats that force the connection closed, oversized frames, or a channel that is closed out from under you. Each guide opens with the direct cause and the `rabbitmqctl`, `rabbitmq-diagnostics`, and `openssl s_client` commands to confirm it. Start with your symptom below, or paste the client/broker log into the assistant.
Fix your error now
Paste the error or logs and let the Incident Assistant diagnose it, or run a guided triage prompt with AI — no copy-paste.
Every guide in this cluster
32 guides-
'ECONNREFUSED' Connection Refused on 5672
Fix RabbitMQ ECONNREFUSED on port 5672: diagnose a stopped broker, wrong host/port, TLS-only listeners, firewall blocks, and bound interface mismatches.
-
'ACCESS_REFUSED' Login Was Refused (403)
Fix RabbitMQ ACCESS_REFUSED login refused errors: diagnose bad credentials, missing vhost permissions, loopback-only guest, and disabled or tagless users.
-
'TLS handshake failed' Protocol and Cipher Negotiation Errors
Fix RabbitMQ TLS handshake failures: resolve protocol-version mismatches, cipher and SNI negotiation errors, and plaintext clients hitting the AMQPS 5671 listener.
-
'missed heartbeats' Heartbeat Timeout from Client
Fix RabbitMQ missed heartbeats and heartbeat timeout errors: diagnose blocked event loops, firewall idle timeouts, low heartbeat values, and overloaded consumers.
-
'{inet_error,etimedout}' Stale Half-Open Connection
Fix RabbitMQ inet_error etimedout half-open connections: vanished clients, disabled heartbeats, TCP keepalive tuning, and NAT idle-timeout drops.
-
'{socket_error, econnreset}' Connection Reset by Peer
Fix RabbitMQ econnreset / connection reset by peer: trace LB and proxy idle timeouts, client crashes, and firewall resets that drop AMQP connections mid-stream.
-
'{socket_error, epipe}' Broken Pipe on Write
Fix RabbitMQ epipe / broken pipe errors: trace writes to a closed socket from slow consumers, vanished clients, and network drops, and stop one-sided connection loss.
-
'access to vhost refused for user' — Fix vhost Permissions
Fix 'access to vhost refused for user' in RabbitMQ: grant vhost access, set configure/write/read permissions, and fix the connection vhost.
-
'ACCESS_REFUSED - access to queue refused for user' Authorization Failure
Fix RabbitMQ ACCESS_REFUSED authorization errors: set correct configure/write/read permission regexes per vhost so users can declare, publish to, and consume resources.
-
'ACCESS_REFUSED - vhost not found' No Access to Virtual Host
Fix RabbitMQ vhost not found / no access to vhost errors: create the missing virtual host, grant per-vhost permissions, and correct URL-encoded vhost paths in clients.
-
'certificate verify failed' TLS Trust and mTLS Verification Errors
Fix RabbitMQ certificate verify failed errors: resolve unknown CA, expired certs, hostname mismatches, and fail_if_no_peer_cert mTLS failures by fixing the trust chain.
-
'CHANNEL_ERROR - expected channel.open' Closed Channel Exception
Fix RabbitMQ CHANNEL_ERROR and 'channel closed' exceptions: using a closed channel, unexpected frames, protocol violations, and frame-ordering bugs.
-
'CHANNEL_ERROR' Too Many Channels and Flow Control
Fix RabbitMQ CHANNEL_ERROR and channel-max errors: diagnose channel leaks, expected channel.open, the channel_max limit, and connection.blocked flow control.
-
'closing AMQP connection ... {bad_header,...}' — Fix Protocol Mismatch
Fix RabbitMQ 'bad_header' handshake errors: stop clients speaking HTTP, TLS, or the wrong AMQP version to port 5672, point them at the right listener and TLS port, and clear the noise.
-
'connection_closed_abruptly' Unexpected Client Disconnect
Fix RabbitMQ connection_closed_abruptly: crashed clients, OOM kills, missing graceful shutdown, network resets, and container restarts diagnosed and resolved.
-
'CONNECTION_FORCED' — Why the Broker Closed Your Connection
Fix RabbitMQ CONNECTION_FORCED errors: tell node shutdown from a manually closed connection or an idle-connection reaper, and rebuild client auto-recovery so it reconnects.
-
'epmd error for host ... nxdomain' Node Resolution Failure
Fix the epmd error for host nxdomain/address: DNS and /etc/hosts, epmd on port 4369, short vs long node names, and firewall rules.
-
'Error on AMQP connection' Reading the Connection Lifecycle Logs
Decode RabbitMQ accepting/closing/Error on AMQP connection logs: find the real close reason behind handshake_error, missed heartbeats, and abrupt client disconnects.
-
'Failed to start Ranch listener ... eaddrinuse' — Fix Port Already in Use
Fix RabbitMQ 'eaddrinuse' at startup: find what already holds port 5672, 15672, 25672, or 4369, resolve stale beam.smp/epmd processes and port conflicts, and start the broker cleanly.
-
'frame_too_large' — Raise frame_max or Shrink the Message
Fix RabbitMQ frame_too_large errors: diagnose oversized messages and headers against the negotiated frame_max, align client and broker frame limits, and split big payloads.
-
'handshake_timeout' — Fix Slow or Non-AMQP Connections
Fix RabbitMQ handshake_timeout errors: diagnose TCP health-check probes, wrong-protocol clients, slow TLS negotiation, and load-balancer prunes that never finish the AMQP handshake.
-
'HTTP access denied' Management UI and API 401/403
Fix RabbitMQ HTTP access denied errors in the management UI and API: missing management tags, wrong credentials, and missing vhost permissions causing 401/403.
-
'No compatible authentication mechanism' — Fix SASL Mechanism Mismatch
Fix 'no compatible authentication mechanism' in RabbitMQ: align client and server SASL mechanisms, enable PLAIN or EXTERNAL, and fix TLS client-cert auth.
-
'PLAIN login refused: user does not exist' Authentication Failure
Fix RabbitMQ 'PLAIN login refused: user does not exist': missing users, vhost confusion, guest restrictions, auth backends, and rotated secrets.
-
'RESOURCE_LOCKED - cannot obtain exclusive access' Locked Queue
Fix RabbitMQ RESOURCE_LOCKED errors: exclusive queue owned by another connection, reconnect races, and 'cannot obtain exclusive access to locked queue' fixes.
-
'UNEXPECTED_FRAME' — Fix AMQP Protocol Violations
Fix 'UNEXPECTED_FRAME' in RabbitMQ: stop sharing a channel across threads, keep frames in order, and upgrade buggy clients that violate AMQP framing.
-
'connection.blocked' — Publishers Blocked by a Resource Alarm
Fix RabbitMQ connection.blocked: publishers stall when a memory or disk resource alarm fires. Diagnose the alarm, free memory/disk, tune watermarks, and unblock producers.
-
'WebSocket connection failed' with the Web-STOMP Plugin
Fix RabbitMQ Web-STOMP 'WebSocket connection to ws://.../ws failed' errors: diagnose the disabled plugin, wrong port, reverse-proxy Upgrade headers, TLS, and STOMP login failures.
-
AMQP 1.0 connection failed / plugin not enabled
Fix RabbitMQ AMQP 1.0 connection failures: enable rabbitmq_amqp1_0, check the native AMQP 1.0 support, SASL auth, vhost mapping, and container/link attach errors.
-
MQTT plugin connection refused / not enabled
Fix RabbitMQ MQTT connection refused: enable rabbitmq_mqtt, open port 1883/8883, fix CONNACK auth (bad username or password), vhost mapping and anonymous logins.
-
Shovel 'connection_refused' Cannot Reach Source or Destination
Fix a RabbitMQ shovel stuck with 'connection_refused': diagnose bad URIs, blocked ports, wrong credentials and TLS so a dynamic or static shovel reconnects to its source or destination broker.
-
STOMP plugin CONNECT error / authentication failed
Fix RabbitMQ STOMP CONNECT errors: enable rabbitmq_stomp, open port 61613, resolve ERROR frames for bad login, vhost access, heartbeats and destination prefixes.
RabbitMQ AI prompts
Copy-paste, production-safe prompts for this stack.
RabbitMQ command center
Top errors, validators, and runbooks for the whole stack.
Frequently asked questions
Why does RabbitMQ refuse the connection with ECONNREFUSED on port 5672?
rabbitmq-diagnostics listeners and the network path. See ECONNREFUSED on 5672.What causes ACCESS_REFUSED "Login was refused"?
guest from a non-loopback host (guest is loopback-only by default). Confirm with rabbitmqctl list_users and rabbitmqctl list_permissions -p <vhost>. See ACCESS_REFUSED login.