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