Nginx double requests for my upstreams?
Maxim Dounin
mdounin at mdounin.ru
Tue Jun 23 18:56:48 MSD 2009
Hello!
On Tue, Jun 23, 2009 at 10:33:05AM -0400, funkdoobiest wrote:
> Maxim Dounin Wrote:
> -------------------------------------------------------
> > Hello!
> >
> > On Mon, Jun 22, 2009 at 10:19:54PM -0400,
> > funkdoobiest wrote:
> >
> > > Hi Maxim,
> > >
> > > I have checked the nginx-access logs and I found
> > following:
> > >
> > > 84.72.240.XXX - - [03/Jun/2009:16:38:46 +0200]
> > "POST /premium/paypremium HTTP/1.1" 499 0
> > "http://www.host.com/premium/getpremium/"
> > "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
> > 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
> > > 84.72.240.XXX - - [03/Jun/2009:16:38:48 +0200]
> > "POST /premium/paypremium HTTP/1.1" 200 2230
> > "http://www.host.com/premium/getpremium/"
> > "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT
> > 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
> > >
> > >
> > >
> > > What can I do or what do I wrong?
> >
> > Error code 499 means that *client* closed
> > connection before it got
> > response. In this particular case it looks like
> > duplicate form
> > submit, e.g. due to second click on submit
> > button.
> >
> > Maxim Dounin
>
> I got this 499 error code for about 10% of all the connections. not just for form-submits.
In general 499 errors are normal, since clients tend to close
browser windows/tabs, cancel downloads or just navigate to another
page e.g. before loading all images etc. High percentage of this
errors may indicate that your site is too slow, but since actual
numbers depend heavily on site usage pattern it's hard to say what
is "high".
> It seems that "proxy_ignore_client_abort on;" fix that problem. But why? Is it ok to ignore client aborts?
Directive proxy_ignore_client_abort instructs nginx to finish
request processing even if client closed connection. It's safe
but usually it's just waste of resources (since backend response
will be thrown away).
Maxim Dounin
More information about the nginx
mailing list