我有 NGINX 代理请求到机器上运行的几个服务,位置指令如下 -
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;
}
所有这些都正常工作,但我有另一个服务,我想将重写后删除前缀的请求路径传递给该服务。也就是说,请求到
https://myserver.com/service
和https://myserver.com/service/some/path
应传递给服务
http://localhost:8761
和http://localhost:8761/some/path
分别
请注意,对于其他服务,需要传递完整路径。我尝试了以下配置——
location /service/ {
proxy_pass http://localhost:8761/;
}
但这仅适用于https://myserver.com/service
且不适用于存在尾随路径的情况。
如果有人能帮我解决这个问题,我将不胜感激。谢谢!