Hello!

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:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#non_idempotent

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

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to