Здравствуйте!
Опишу проблему с которой столкнулся.
Пример кофигурации:
на уровне http есть прописанный upstream
upstream pics {
server 127.0.0.1:8060;
server 127.0.0.1:8050;
}
дальше описан server
server {
listen x.x.x.x:80;
server_name pics.example.com;
root /home/vhosts/pics.example.com/html;
location / {
try_files $uri $uri/index.html @back;
}
location @back {
proxy_pass http://pics;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
Теперь ситуация:
При отдаче back-end-ом редиректа (302) на http://pics.example.com
клиенту от front-end-а отдается адрес для перехода такой - http://pics.example.com/.example.com
Меняю имя апстрима на "pic". Соответственно проксирование тоже делаю так:
proxy_pass http://pic;
Теперь адрес после редиректа становится таким - http://pics.example.com/s.domain.com
Причем даже если редиректить просто на любой другой адрес, в начале которого есть имя апстрима, само имя "вырезается" и редирект идет на "тот же домен"+"/"+"остаток от адреса для редиректа"
При "непересекаемых именах" все ок.
Дополнительно: На back-end-е тоже nginx(+ Phusion Passenger)
Правда и там и там не самый последний nginx = 0.8.32.
Просто хотел сообщить о таком поведении, возможно это уже исправлено, но для страховки, все таки решил написать.