Após investigação e teste contínuos de diferentes combinações e ordenação de diretivas, adicionando proxy_redirect
após a diretiva proxy_pass
parece corrigir o problema de tradução do URI:
proxy_redirect https://10.0.0.22/ https://domain.com/my/web/app/;
Depois de mais alguns ajustes, parece que definir proxy_redirect
to default
faz a mesma coisa implicitamente:
proxy_redirect default;
O bloco completo de localização ficou assim:
location ^~ /my/web/app/
{
proxy_buffering off;
rewrite /my/web/app/(.*) /$1 break;
proxy_pass https://10.0.0.22/;
#proxy_redirect https://10.0.0.22/ https://domain.com/my/web/app/;
proxy_redirect default;
}
As imagens ainda estavam quebradas, no entanto, porque apontam para /images
no servidor local. Não tenho certeza de como obter o nginx para traduzi-los (porque estão incorporados no corpo do HTML), mas, para resolver o problema por enquanto, consegui adicionar um bloco location
dedicado a /images
antes do bloco de localização para /my/web/app
, assim:
location ^~ /images/
{
proxy_pass https://10.0.0.22/images/;
proxy_redirect default;
}