1.9.13 and non_idempotent

Maxim Dounin mdounin at mdounin.ru
Fri Apr 1 03:31:30 UTC 2016


On Thu, Mar 31, 2016 at 07:46:40PM -0700, Frank Liu wrote:

> Does that mean by default if one upstream server is down (connect error or
> connect timeout), nginx won't try the next server and POST request will
> just fail?

No.  Quoting CHANGES (http://nginx.org/en/CHANGES):

    *) Change: non-idempotent requests (POST, LOCK, PATCH) are no longer
       passed to the next server by default if a request has been sent to a
       backend; the "non_idempotent" parameter of the "proxy_next_upstream"
       directive explicitly allows retrying such requests.

Connect errors doesn't imply that a request has been sent to a 
backend.  As long a request hasn't been sent yet, it can be 
retried to another server without any problems.

See docs here for more details:


Maxim Dounin

More information about the nginx mailing list