Re: proxy redirect и regexp

unlo nginx-forum на nginx.us
Ср Июл 21 13:00:03 MSD 2010


Собственно, сама проблема стандартна -
апач висит на 81 порту, nginx делает на него
proxy_pass.
К примеру тот же mod_dir добавляет к
директориям слеш при обращении к url
вида site.com/dir и создаёт редирект на
дефотный порт апача - 81 (server_name
создаётся панелью управления с портом,
одна радость - UseCannonicalName off). 

Прописать всем виртуальным хостам
конструкции вида "proxy_redirect http://site.com:81/
http://site.com/;" не выходит  в силу
используемой логики построения
виртуальных хостов в nginx.

Если кому интересно, вроде бы нашел
решение своей проблемы без функционала
proxy_redirect:

- ставлю в nginx
proxy_set_header   Host             $host:$server_port;
что передаёт апачу запрос в виде Host:
http_host:port

- в апаче использую конструкцию
RequestHeader edit Host ^(.*):80 $1 early 
что удаляет из запроса порт до работы
разных Rewrite. Без этой конструкции могут
возникать проблемы с работой многих cms,
которые используют редиректы,
основываясь на директиве Host.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,109566,111202#msg-111202




Подробная информация о списке рассылки nginx-ru