Upstream и redirect
vickodin
nginx-forum на nginx.us
Пт Авг 20 17:30:59 MSD 2010
Здравствуйте!
Опишу проблему с которой столкнулся.
Пример кофигурации:
на уровне 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.
Просто хотел сообщить о таком
поведении, возможно это уже исправлено,
но для страховки, все таки решил
написать.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,121678,121678#msg-121678
Подробная информация о списке рассылки nginx-ru