У меня есть простая настройка 3 серверов (в контейнерах) - 2 сервера "приложений" (службы whoami - поэтому по ответу я могу подтвердить сервер) и сервера nginx.
Я запустил nginx с простой конфигурацией балансировки нагрузки:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
upstream myapp1 {
server w1:8000 weight=1;
server w2:8000 weight=1;
}
server {
listen 80;
location / {
proxy_pass http://myapp1/;
}
}
}
Проблема в том, что он не работает в Chrome - он всегда загружает только первый сервер. Я пытался отключить кэш в консоли Dev + перезагрузить через CTRL + F5, но ничего не помогло.
Если я пытаюсь curl
nginx сервер - я получаю ответы в циклическом порядке (как и ожидалось).
Вот мои настройки контейнеров:
docker network create testnw
docker run -dit --name w1 --network testnw jwilder/whoami # app1
docker run -dit --name w2 --network testnw jwilder/whoami # app2
docker run -dit --name ng --network testnw -p 8989:80 -v ${PWD}/my.conf:/etc/nginx/nginx.conf nginx # LB server
curl localhost:8989 # will get response from w1
curl localhost:8989 # will get response from w2
curl localhost:8989 # will get response from w1
...