Коллеги,
настраиваю выделенный под балансировку хост с nginx. С одним виртуальным хостом не было бы проблем, но у меня несколько, поэтому запутался в конфигурации. Схема такова:
На хост-балансер приходят запросы типа zapros1.ru, zapros2.ru, zapros3.ru. За балансером два бэкэнда с apache (между бэками репликация mysql и rsync, что не особо важно). На 1-ом бэкэнде крутятся zapros1.local, zapros2.local, zapros3.local, на 2-ом бэкэнде zapros1-repl.local, zapros2-repl.local, zapros3-repl.local.Реализовать хочу так:
сам nginx на балансере ничего не отдаёт, он только проксирует на бэки, то есть если запрос пришёл на zapros2.ru, то он проксируется на zapros2.local, если zapros2.local недоступен, то отдаётся zapros2-repl.local
По локальным адресам бэкэнды доступны.
Конфиг nginx (для одного виртуального хоста):
upstream zapros1-backend {
server zapros1.local max_fails=3 fail_timeout=30s;
server zapros1-repl.local backup;
}
server {
listen 192.168.0.150:80;
server_name zapros1.ru;
location / {
proxy_pass http://zapros1-backend;
}
}
Подскажите, как правильно сконфигурировать nginx в такой ситуации.
P.S. С таким конфигом проксирование работает, но отдаётся не тот виртуальный хост, который нужно (с бэкэнда).