HTTP status code 499 from long running requests

Maxim Dounin mdounin at
Sun Jun 2 11:04:24 UTC 2013


On Sat, Jun 01, 2013 at 09:09:55PM -0400, justin wrote:

> Hello, I have long running requests upwards of five minutes that are called
> via ajax (jQuery) (XHR), and hitting a backend PHP script.
> I am seeing very strange behavior, intermittently calling the script twice,
> even though in Chrome developers tools I only see a single XHR request in
> the network pane. I know that it is running twice because in my backend PHP
> script I write a log to a MySQL database, and I am seeing two entries.
> I took a look at the nginx access log, and seeing HTTP status code 499,
> which seems to be: client closed connection before nginx
> was able to send anything to client.
> What is the best way to fix this? Is there a config setting in nginx to keep
> the connection open? Or is the client terminating the request, and then
> reissuing the request, thus way I am seeing two entries?

The 499 code means that _client_ closed connection, and there is 
more or less nothing you can do from nginx side.  You have to 
either find a way to ask client to wait longer before it gives up, 
or return something before it gives up.

Maxim Dounin

More information about the nginx mailing list