HTTP status code 499 from long running requests
mdounin at mdounin.ru
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.
More information about the nginx