Tentando fazer com que o Nginx transforme um URL, ou seja, de example.com/$uri example.com/path/$uri

Tentando fazer com que o Nginx transforme um URL, ou seja, de example.com/$uri example.com/path/$uri

ao tentar acessar example.com sem o "caminho" (example.com/path), pedi ao Nginx para adicionar o caminho ao URL, se ele já estiver lá, ignore a reescrita. Qualquer ajuda seria bem-vinda.

Eu tentei voltar

return 301 $scheme://example.com/path$request_uri; e apenas redireciona até atingir o limite de 10

Também tentei reescrever, mas claramente também não estou acertando.

a topologia é [proxy] -> [servidor web] Tentei fazer o redirecionamento em ambos, não tenho certeza se devo fazer a transformação no proxy ou no servidor web

Responder1

Se quiser fazer proxy de suas solicitações para o aplicativo de back-end, você pode usar

location / {
    proxy_pass http://upstream/path/;
}
location /path/ {
    proxy_pass http://upstream;
}

A regra de reescrita também é possível, usandoantecipação negativaregex, porém o desempenho será um pouco inferior ao do primeiro exemplo:

rewrite ^((?!/path/).*) /path$1 ...

informação relacionada