В основном у меня есть ферма 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;
}
}