<div dir="ltr">I fully understand the rationale of not retrying non-idempotent requests if they are already sent, but in case of 429 (maybe other cases as well), I don't see an issue of retrying even if request is sent. It would be better if we can selectively do something like <span style="font-size:12.800000190734863px">"proxy_next_upstream non-idempotent-http_429;" or whatever http code that we know safe.</span></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 8, 2017 at 8:20 AM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<span class=""><br>
On Thu, Jun 08, 2017 at 01:10:25AM -0700, Frank Liu wrote:<br>
<br>
> In case of upstream returning 429, I'd like to have nginx retry next<br>
> upstream server. Since nginx by default won't retry non-idempotent<br>
> requests, how do I force nginx to retry when receiving 429? I imagine this<br>
> should be the default behavior anyway, or does nginx not care about<br>
> returning code and will never retry non-idempotent?<br>
<br>
</span>Non-idemportent requests are not retried as long as the request is<br>
already sent, regardless of a particular error.  If you want nginx<br>
to retry non-idempotent requests, you can do so with<br>
"proxy_next_upstream non-idempotent;", see<br>
<a href="http://nginx.org/r/proxy_next_upstream" rel="noreferrer" target="_blank">http://nginx.org/r/proxy_next_<wbr>upstream</a>.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" rel="noreferrer" target="_blank">http://nginx.org/</a><br>
______________________________<wbr>_________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx</a><br>
</font></span></blockquote></div><br></div>