É possível que nginx
intercepte o código de resposta 302 e processe internamente. Eu configurei um cenário de teste que funcionava usando isso:
location /some/uri/ {
error_page 302 = @fallback;
proxy_intercept_errors on;
proxy_pass ...;
}
location @fallback {
rewrite ^ /some/other/uri last;
}
Isso, é claro, seria uma interceptação geral sem levar em conta o valor dos cabeçalhos de resposta, mas isso pode ser adequado para sua necessidade. Consulte este e isto para mais.