CONNECTION_REFUSED
QUIC CONNECTION_REFUSED (0x02) is sent when the server refuses to accept a new connection. Unlike TCP RST which is a network-level signal, QUIC CONNECTION_REFUSED is an application-aware refusal – the server received and processed the Initial packet but will not establish the connection.
Code
0x02
Decimal
2
Standard
RFC 9000 §20
Description
CONNECTION_REFUSED is the QUIC transport-layer equivalent of TCP ECONNREFUSED. The server receives the client's Initial packet (which contains the TLS ClientHello), processes it enough to determine it will not accept the connection, and sends a CONNECTION_CLOSE with this error code. This is different from simply not responding (which would trigger the client's connection timeout). By explicitly sending CONNECTION_REFUSED, the server allows the client to fail fast rather than waiting for a timeout. Common causes: the server is at capacity and cannot accept new connections, the server is in graceful shutdown mode declining new connections while finishing existing ones, or the server's load balancer decided to reject this connection. HTTP/3 applications may layer application-level refusals on top of this.
Common Causes
- –Server at maximum connection capacity
- –Server in graceful shutdown mode rejecting new connections
- –Load balancer policy rejecting this client
- –Server application not ready to accept connections