Запускаю 4 реплики приложения в докере + контейнер с nginx. Конфиг такой:
server {
listen 80;
resolver 127.0.0.11 ipv6=off valid=10s;
# . files
location ~ /\.(?!well-known) {
deny all;
}
location / {
proxy_pass http://app:3000$request_uri;
proxy_set_header Host $host;
proxy_http_version 1.1;
# proxy headers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
# proxy timeouts
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}
Вопросов на самом деле несколько:
1) Как разрешается http:// app в несколько ip-адресов?
2) Nginx сам делает несколько upstream при такой конфигурации?
3) Почему round robin не равномерно распределяет трафик, вопрос именно в точности, хотел это использовать не по назначению, а он распределяет между 4 контейнерами где-то 35% 35% 20% 10% и как это поправить?