O que eu quero fazer é,
Quando alguém visita http://localhost/route/abc
a resposta do servidor exatamente da mesma forma quehttp://localhost:9000/abc
Agora eu configuro meu Nginx assim:
location /route {
proxy_pass http://127.0.0.1:9000;
}
A solicitação http é a porta despachada 9000
corretamente, mas o caminho recebido http://localhost:9000/route/abc
não é http://localhost:9000/abc
.
Alguma sugestão ?
/
é bem documentado como a maneira de remover o prefixo listado no local.Acredito que você pode usar a reescrita para remover a parte extra do URL. No seu caso, acho que você poderia usar:
No entanto, se o seu aplicativo tiver links internos, ele ainda poderá apontar para / abc / foo, e se você fizer isso, precisará apontar para / route / abc / foo para que a solicitação bruta seja recebida corretamente. É melhor deixar a configuração do nginx como está e, em vez disso, configurar o aplicativo para ficar ciente de que ele fica em um subdiretório, se você puder.
Sei que essa é uma pergunta antiga, mas foi o principal hit do Google para mim quando estava tentando resolver o mesmo problema!
fonte
Tente o seguinte
fonte
vim nginx.conf
Esse código escuta no 8080 e redireciona para a porta 8787 no compute-1-36. Você pode selecionar outro caminho no local /
fonte