<div dir="ltr">Hello,<div><br></div><div>Any inputs on this? Is is supported to retry next upstream, if upstream server responds early rejecting request for any valid reason?</div><div><br></div><div>Thanks,</div><div>Kaustubh</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 15, 2017 at 10:47 PM, Kaustubh Deorukhkar <span dir="ltr"><<a href="mailto:kaustubh.deo@gmail.com" target="_blank">kaustubh.deo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-size:12.8px">Hi,</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">We are using <span class="m_6244583971677333004gmail-m_7084673056195678499gmail-il">nginx</span> as reverse proxy and have a set of upstream servers configured</div><div style="font-size:12.8px">with upstream next enabled for few error conditions to try next upstream server.</div><div style="font-size:12.8px">For some reason this is not working. Can someone suggest if am missing something?</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">http {</div><div style="font-size:12.8px">...</div><div style="font-size:12.8px">  upstream myservice {</div><div style="font-size:12.8px">    server localhost:8081;</div><div style="font-size:12.8px">    server localhost:8082;</div><div style="font-size:12.8px">  }</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">  server {</div><div style="font-size:12.8px">    ...</div><div style="font-size:12.8px">    location / {</div><div style="font-size:12.8px">      proxy_pass <a href="http://myservice/" target="_blank">http://myservice</a>;</div><div style="font-size:12.8px">      proxy_next_upstream error timeout invalid_header http_502 http_503 http_504;</div><div style="font-size:12.8px">    }</div><div style="font-size:12.8px">  }</div><div style="font-size:12.8px">}</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">So what i want is if any upstream server gives the above errors, it should try </div><div style="font-size:12.8px">the next upstream instance, but it does not and just reports error to clients.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">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 <span class="m_6244583971677333004gmail-m_7084673056195678499gmail-il">nginx</span> closes the current upstream connection where it received early response, but i expect <span style="font-size:12.8px">it to try the next upstream server as configured for the same request before it responds with error to client.</span></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Am I missing some <span class="m_6244583971677333004gmail-m_7084673056195678499gmail-il">nginx</span> trick here?</div></div>
</blockquote></div><br></div>