Is this question to stupid or has nobody an answer on it? ;)
I just think a POSTs are not idempotent and should never be repeated for a technical reason. Is there any change to configure nginx in a way to try the next upstream only if the first one really failed when using POST requests? Timed out requests on one upstream could potentially still be processed by an application. Handing this request over to the next upstream must not cause the same result as the first upstream since POSTs are not idempotent.
Any help would be appreciated.