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
|