upstream apache {
server 127.0.0.1:8080;
}
server{
location ~* ^/service/(.*)$ {
proxy_pass http://apache/$1;
proxy_redirect off;
}
}
O snippet acima redirecionará as solicitações em que o url inclui a string "serviço" para outro servidor, mas não inclui os parâmetros de consulta.
parameters
nginx
Alex Luya
fonte
fonte
location /service/ { rewrite ^\/service\/(.*) /$1 break; proxy_pass http://apache; }
Eu uso uma versão ligeiramente modificada da segunda abordagem de Kolbyjack com em
~
vez de~*
.fonte
Eu modifiquei o código @kolbyjack para fazê-lo funcionar para
com parâmetros
fonte
proxy_pass
diretiva acima faz o redirecionamento no lado do servidor.você tem que usar reescrever para passar parâmetros usando proxy_pass aqui está o exemplo que fiz para a implantação do aplicativo angularjs para s3
S3 Static Website Hosting Rota todos os caminhos para index.html
adotado para suas necessidades seria algo como
se você quiser terminar em http://127.0.0.1:8080/query/params/
se você quiser terminar em http://127.0.0.1:8080/service/query/params/, você precisará de algo como
fonte
/path/params
), mas não consulta params (?query=params
)?github gist https://gist.github.com/anjia0532/da4a17f848468de5a374c860b17607e7
fonte
Para redirecionar sem string de consulta, adicione as linhas abaixo no bloco do servidor na linha da porta de escuta:
Com Query String:
fonte
if
quando possível. Nesse caso, a solução pode ser acertada usandolocation
como mostrado em outras respostas.trabalhou com a adição de $ request_uri proxy_pass http: // apache / $ request_uri;
fonte