%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D1%8E%D1%82%20%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8%20%D0%BC%D0%B5%D1%81%D1%82%D0%BE%D0%BF%D0%BE%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0.png)
У меня следующие настройки nginx:
upstream cluster_web {
ip_hash;
server 192.168.115.82 weight=3;
server 192.168.115.92 weight=2;
server 192.168.115.100 weight=2;
server 192.168.115.95 weight=3;
server 192.168.115.103 weight=1;
}
server {
location /app1/ {
proxy_pass http://192.168.115.92;
}
location / {
proxy_pass http://cluster_web;
}
}
Дело в том, что после того, как пользователь получает доступ к местоположению /, он не может получить доступ к серверу, определенному в правиле местоположения /app1/, поскольку, по-видимому, nginx использует сервер ip_hash в настройке upstream из предыдущего запроса. Я упускаю какую-то настройку? Это правильно? Кстати, у меня два обратных прокси-сервера, один в Интернете, а другой для пользователей локальной сети.
С наилучшими пожеланиями!
решение1
Это не ошибка.
Мне пришлось использовать break; после директив proxy_pass.