NGINX proxy_pass com prefixo de caminho removido

1

Eu tenho solicitações de proxy do NGINX para vários serviços em execução na máquina, com diretivas de localização como abaixo -

location = / {
    proxy_pass http://localhost:5000;
}

location / {
    proxy_pass http://localhost:8080;
}

location ^~ /index.html {
    proxy_pass http://localhost:5000;
}

location ^~ /static/ {
    proxy_pass http://localhost:5000;
}

location ~* .(config.json|service-worker.js)$ {
    proxy_pass http://localhost:5000;
}

Tudo isso está funcionando corretamente, mas eu tenho outro serviço para o qual eu quero passar o caminho de solicitação reescrito com o prefixo removido. Ou seja, o pedido para

https://myserver.com/service e https://myserver.com/service/some/path

deve ser passado para o serviço como

http://localhost:8761 e http://localhost:8761/some/path , respectivamente

Observe que, para os outros serviços, o caminho completo precisa ser passado. Eu tentei a configuração abaixo -

location /service/ {
    proxy_pass http://localhost:8761/;
}

mas isso só funciona para https://myserver.com/service e não quando há um caminho à direita.

Eu apreciaria se alguém pudesse me ajudar a descobrir isso. Obrigado!

    
por shyam 29.09.2017 / 09:34

0 respostas