Hold requests long enough for me to restart upstream?

Cliff Wells cliff at develix.com
Sat Mar 21 01:32:14 MSK 2009

On Fri, 2009-03-20 at 13:48 -0700, mike wrote:
> On Fri, Mar 20, 2009 at 1:36 PM, Cliff Wells <cliff at develix.com> wrote:
> > It does, but the OP only has a single upstream.
> Ah.
> I wonder, but what if the OP put the same upstream down multiple times
> in an upstream {} block with appropriate retry/timeout settings, like
> so...
> max_fails=1  fail_timeout=20s;
> Essentially it would be a loop but it would allow to retry the same
> upstream (assuming nginx does not have an internal table that rejects
> or malfunctions if you define the same upstream more than once)

This won't work.  The problem is that his backend isn't unresponsive,
it's *down*.   That is, the backend socket isn't even open.   Timeouts
are for sockets that are "open but unresponsive", not sockets that are

In this case Nginx would try each backend and *instantly* go to the next
one until it ran out of backends and then it would throw a 50x error.


More information about the nginx mailing list