Nginx的负载平衡/代理上传与path/重写

基本上我有一个API农场

192.168.1.1,192.168.1.2,192.168.1.3

然而,terminal有不同的文件夹结构(我不能修改的第三方!)

所以基本上我想有一个像这样的nginxconfiguration

upsteam api_servers{ server 192.168.1.1/api/; server 192.168.1.2/myApp/api/; server 192.168.1.3/; } server{ listen 80; location / { proxy_pass http://api_servers; } } 

但是,在上游服务器中不能有path。 我想我必须重写这些? 我知道如何为传入的请求重写它,但不知道如何以不同的方式重写它到每个后端服务器。

提前谢谢了!!

这是一个解决方法。 想法是为每个上游做一个代理服务器块。

 upsteam api_servers { server 127.0.1.1; server 127.0.1.2; server 192.168.1.3; } server { listen 127.0.1.1; location / { proxy_pass http://192.168.1.1/api/; } } server { listen 127.0.1.2; location / { proxy_pass http://192.168.1.2/myApp/api/; } } server { listen 80; location / { proxy_pass http://api_servers; } }