В основном у меня есть ферма API как
192.168.1.1, 192.168.1.2, 192.168.1.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;
}
}