What 499 means
Not a standard code: nginx logs it when the client (or an upstream load balancer) gives up waiting. The client never sees it; it shows in server logs.
Common causes
- The client's timeout is shorter than the server's response time.
- Users navigating away or cancelling requests.
How to fix it
If you're calling an API
- Increase your client timeout if the operation is legitimately slow.
If you run the server
- Speed up slow endpoints or make them asynchronous (202 + polling).
Should you retry?
Yes, with a longer timeout.
Example response
HTTP/1.1 499 Client Closed Request
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Client Closed Request",
"status": 499,
"detail": "The client closed the connection before the server responded (nginx)."
}Defined in: nginx (non-standard). 499 is a client error: change the request before retrying.
Debugging an API call? Convert your request with the cURL converter, check the response with the JSON formatter, or see whether the API is down on its status page.