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