460 Client closed connection prematurely
HTTP response status code 460 Client closed connection prematurely is an unofficial client error specific to AWS Elastic Load Balancer. The load balancer logs this code when a client closes the connection before the idle timeout period elapses.
Usage
The 460 Client closed connection prematurely status code means the client closed the connection with the load balancer before the idle timeout expired. The client never receives the HTTP response. This code is only recorded in the AWS Elastic Load Balancer access logs.
Common causes include aggressive client timeouts, network interruptions, and users navigating away before the response arrives.
Example
A client sends a request through an AWS Application Load Balancer but closes the connection before the backend finishes processing. The load balancer logs the 460 status code. No response reaches the client.
Request
GET /api/slow-report HTTP/1.1
Host: www.example.re
Connection: keep-alive
Response (ALB access log entry)
h2 2026-03-02T10:30:00.000Z app/my-alb/abc123 192.168.1.50:443 10.0.0.5:8080 0.002 30.000 -1 460 - 125 0 "GET https://www.example.re/api/slow-report HTTP/1.1"
No HTTP response is sent. The client disconnected before the backend completed.
How to fix
Align timeout values across all three layers: client, ALB, and backend. The client timeout must be greater than the ALB idle timeout, and the backend must respond before either timer expires.
Increase the ALB idle timeout. The default is 60 seconds. Set a higher value through the AWS console or CLI:
aws elbv2 modify-load-balancer-attributes \
--load-balancer-arn <arn> \
--attributes \
Key=idle_timeout.timeout_seconds,Value=120
Increase the client-side request timeout to exceed the ALB idle timeout. HTTP client libraries, mobile SDKs, and browser fetch calls each have their own timeout configuration. A client timeout shorter than the ALB idle timeout causes the client to disconnect while the ALB still waits.
Send at least 1 byte of data before each idle timeout period elapses. For long-running operations, streaming partial responses or sending HTTP chunked transfer encoding keep the connection alive.
Reduce backend processing time. Slow upstream targets are the most common root cause. Profile slow endpoints and optimize queries, Caching, or compute-heavy operations on the backend.
Set the backend Keep-Alive timeout higher than the ALB idle timeout. If the backend closes an idle connection before the ALB does, the ALB tries to route a new request over a closed connection.
Enable ALB access logging and filter for 460 entries. Correlate timestamps, target IP, and request URI to identify specific endpoints or target groups triggering the error:
Fields: elb_status_code=460, target_processing_time
Check for network instability between the client and the ALB. Packet loss, high latency, or unstable mobile connections cause premature disconnections unrelated to timeout settings.
Takeaway
The 460 Client closed connection prematurely status code is a client error recorded only in AWS Elastic Load Balancer logs. The client closed the connection before receiving a response.