Nginx
Nginx 負載平衡/代理到上游的路徑/重寫
基本上我有一個 API 農場
192.168.1.1, 192.168.1.2, 192.168.1.3
但是端點具有不同的文件夾結構(我無法修改的第 3 方!)
所以基本上我想要一個像這樣的nginx配置
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; } }
但是,您不能在上游伺服器中有路徑。我想我必須重寫這些?我知道如何為傳入的請求重寫它,但不確定當它到達每個後端伺服器時如何以不同的方式重寫它。
提前謝謝了!!
有一個解決方法。想法是為每個上游製作一個代理伺服器塊。
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; } }