Проблемы настройки балансировка нагрузки на серверы с nginx
От: Maxim_T  
Дата: 12.09.16 07:24
Оценка:
Настраиваем балансировку нагрузки между серверами с nginx с помощью того же nginx на отдельном сервере.
Запускаю балансировщик локально на компе, обращаюсь к 127.0.0.1 — он выдаёт мне разные серверы, как и нужно.
Запускаю балансировщик на сервере — он выдаёт только Welcome to Nginx, когда захожу со своего компа.
Захожу по ssh на сервер с балансирощиком, захожу на 127.0.0.1 — он отдаёт нужные серверы!

Аналогично было с HAProxy, поэтому напрашивается версия, что nginx с приложением неправильно воспринимает запрос, пришедший через балансировщик с другого компа.

Может кто сталкивался с подобным?

Конфиг балансировщика:
upstream http {
    server x.x.x.x:80 weight=2 max_fails=2 fail_timeout=4s;
    server x.x.x.y:80 weight=2 max_fails=2 fail_timeout=4s;

}

server {
server_name update.xxxx.com 127.0.0.1;
listen 80;



location / {
    proxy_read_timeout 1200;
    proxy_connect_timeout 1200;
    proxy_pass http://http/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}



Конфиг nginx на сервере приложения:
server {
    listen 80;
    server_name  server01.build.xxxx.com 127.0.0.1;
    root /home/user;
    charset utf-8;
    client_max_body_size 20m;

    location /static {
        alias /code/front/static;
    }
   
    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_connect_timeout 30;
        proxy_read_timeout 30;
        proxy_pass http://server01:8002;
    }

}

на http://server01:8002 — запущен gunicorn c django.
балансировка nginx haproxy
Re: Проблемы настройки балансировка нагрузки на серверы с nginx
От: Maxim_T  
Дата: 13.09.16 11:39
Оценка:
Дополню картину:
nginx в роли балансировщика нормально работает, если в upstream локальные адреса, например запущены джанговские проекты.

Связки nginx+gunicorn+django, запущенные на серверах — работают в докере, может быть это как-то мешает..
Re[2]: Проблемы настройки балансировка нагрузки на серверы с nginx
От: Maxim_T  
Дата: 14.09.16 09:02
Оценка: 1 (1)
Пара дней поиска коллеги привели к решению:
проблема была в allowed_hosts конфига джанги — поставили ['*'] и заработало.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.