nginx timeout aborting subsequent proxying from upstream block

Maxim Dounin mdounin at mdounin.ru
Tue Dec 20 19:50:49 UTC 2016


Hello!

On Tue, Dec 20, 2016 at 06:31:46PM +0000, Mauri, Richard wrote:

> 
> This is question about configuring nginx so that when you have 
> multiple servers in an upstream block and the first one selected 
> to handle a request "times out" (at default 60s) that we can 
> skip the forwarding to subseqnt servers in the upstream block.
> 
> We see the case where the upstream_response_time in nginx log 
> shows like 60s,60s.
> 
> We have a client that aborts the request/connection at 20sec and 
> other clients that ultimately fail because the server responded 
> with failure with the 60s,60s upstream_response time.
> 
> We want to institutionalize the aggregate 20s round trip client 
> request time at the server side if possible.
> 
> In other words we don't want to configure the proxy read and 
> write timeout settings to 20 as this might result in total of 
> 40s as observed by the client.
> 
> We don't want to set the seetings to like 10s as that may not 
> give the server enough time to complete processing.
> 
> Rather we want the proxy read write timeouts to be 20s and the 
> entire request to fail immediately without going to the next 
> server in the upstream block.
> 
> How is nginx configured so if the first upstream server 
> times-out; then subsequent servers are not consulted and the 
> server effectively timeout at 20?

Try this:

    proxy_next_upstream_timeout 20s;

See http://nginx.org/r/proxy_next_upstream_timeout for additional 
details.

-- 
Maxim Dounin
http://nginx.org/


More information about the nginx mailing list