input required on proxy_next_upstream

Kaustubh Deorukhkar kaustubh.deo at gmail.com
Wed Feb 15 17:17:56 UTC 2017


Hi,

We are using nginx as reverse proxy and have a set of upstream servers
configured
with upstream next enabled for few error conditions to try next upstream
server.
For some reason this is not working. Can someone suggest if am missing
something?

http {
...
  upstream myservice {
    server localhost:8081;
    server localhost:8082;
  }

  server {
    ...
    location / {
      proxy_pass http://myservice;
      proxy_next_upstream error timeout invalid_header http_502 http_503
http_504;
    }
  }
}

So what i want is if any upstream server gives the above errors, it should
try
the next upstream instance, but it does not and just reports error to
clients.

Note that, in my case one of the upstream server responds early for some
PUT request with 503 before entire request is read by upstream. I
understand that nginx closes the current upstream connection where it
received early response, but i expect it to try the next upstream server as
configured for the same request before it responds with error to client.

Am I missing some nginx trick here?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20170215/9852ddf5/attachment.html>


More information about the nginx mailing list