Nginx fastcgi_intercept_errors
Maxim Dounin
mdounin at mdounin.ru
Fri Nov 29 13:02:34 UTC 2013
Hello!
On Fri, Nov 29, 2013 at 04:59:56PM +0400, Maxim Dounin wrote:
> Hello!
>
> On Fri, Nov 29, 2013 at 03:36:18PM +0400, Oleg V. Khrustov wrote:
>
> > nginx/1.5.4 doesnt intercept fastcgi errors.
> > location / {
> > ....
> > fastcgi_pass bg;
> > error_page 500 502 503 504 408 404 =204 /204.htm;
> > fastcgi_intercept_errors on;
> >
> > .....
> > }
> >
> > However in root location access log we still see
> >
> > 91.192.148.232 - - [29/Nov/2013:13:39:20 +0400] "POST / HTTP/1.1" 504 182
> > "-" "-" "0.138"
> >
> > And tcpdump capture shows that we still send 504:
> >
> > Py...HTTP/1.1 504 Gateway Time-out
> > Server: nginx/1.5.4
>
> [...]
>
> > What can be wrong here?
>
> Most likely reasons, in no particular order:
>
> - You've forgot to reload configuration, or the configuration was
> rejected due to errors and you've missed it.
>
> - The request is handled in other location and/or server, not
> the one you are looking at.
Another possible one, after looking into your next question:
- You've forgot to add a location to handle /204.htm, and it's
passed to fastcgi backend again, and this again results in 504.
As by default recursive_error_pages is disabled, the error is
returned to a client.
--
Maxim Dounin
http://nginx.org/en/donation.html
More information about the nginx
mailing list