catching 408 response from upstream server
Frederik Nosi
frederik.nosi at postecom.it
Tue Feb 10 12:19:13 UTC 2015
Hi,
On 02/10/2015 08:35 AM, shmulik wrote:
> Hi,
> I'm using nginx as reversed proxy, using the proxy module.
> Whenever i get a response code >= 400 from the upstream server, i'm
> redirecting the client to a different url.
>
> This is the configuration i use (simplified):
>
> location ~ "^/proxy/host_(.*)/fallback_(.*)" {
>
> proxy_pass http://$1;
>
> proxy_intercept_errors on;
> error_page 404 408 500 http://$2;
> }
>
> However, i've noticed that when the upstream server responds with 408
> response code, nginx does not send a redirect.
> Instead it terminates the connection to the client.
I think this is because of the nature of 408 error. It means the client
is slow, (or slowloris). Probably the only sane thing to do in that case
is to drop with an error. Though, looking at the documentation it seems
you can configure when a request is slow with this directives:
client_body_timeout
client_header_timeout
Check her e for more details:
client_header_timeout
> Is this the intended behavior?
> Is there any way around it?
See above
> I'd like to be able to intercept 408 responses as well and redirect them.
> Any alternative suggestions to implement it are very welcome.
>
> Thanks in advance,
> Shmulikb
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?2,256530,256530#msg-256530
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
Regards,
Frederik
More information about the nginx
mailing list