ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Upstream и redirect



Hello!

On Fri, Aug 20, 2010 at 09:30:59AM -0400, vickodin wrote:

> Здравствуйте!
> 
> Опишу проблему с которой столкнулся.
> 
> Пример кофигурации:
> на уровне 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
> Причем даже если редиректить просто на
> любой другой адрес, в начале которого
> есть имя апстрима, само имя "вырезается"
> и редирект идет на "тот же
> домен"+"/"+"остаток от адреса для
> редиректа"
> При "непересекаемых именах" все ок.

Known issue, багофича proxy_redirect default при использовании 
proxy_pass без uri.  Workaround:

proxy_redirect off;

Патч берут тут:

http://nginx.org/pipermail/nginx-ru/2010-February/032586.html

> Дополнительно: На back-end-е тоже nginx(+ Phusion
> Passenger)
> Правда и там и там не самый последний
> nginx = 0.8.32.
> Просто хотел сообщить о таком
> поведении, возможно это уже исправлено,
> но для страховки, все таки решил
> написать.

Нет, ещё не исправлено.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.