Re: Проблема с директивами include и set

Maxim Dounin mdounin на mdounin.ru
Чт Июн 14 11:40:32 UTC 2012


Hello!

On Thu, Jun 14, 2012 at 04:23:00PM +0600, Andrey Semenoff wrote:

> Доброго дня!
> 
> Привожу примеры конфигураций:
> 
> # cat rss.name.ru.conf
> > server {
> >     listen ip:port;
> >     server_name name.ru www.name.ru;
> >     set $docroot "/www/www/name.ru";
> >     set $pool       "127.0.0.1:8080";
> >     charset windows-1251;
> >     proxy_read_timeout 600;
> >     proxy_send_timeout 600;
> >     proxy_connect_timeout 600;
> >     access_log /var/log/nginx/name.ru-access.log;
> >     error_log /var/log/nginx/name.ru-error.log warn;
> >     access_log on;
> >     rewrite  ^/yandex/rss.xml$  /rss/yandex/ last;
> >     rewrite  ^/rss/rss.xml$     /rss/all/    last;
> >     rewrite  ^(.*)$             /404.php     break;
> >     location / {
> >         include backend-httpd;
> >     }
> > }
> 
> 
> # cat backend-httpd
> >
> proxy_pass   http://127.0.0.1:8080;
> > proxy_set_header Host $host;
> > proxy_set_header X-Real-IP $remote_addr;
> > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> 
> 
> 
> 
> Если вместо "127.0.0.1:8080" подключаемого опцией include конфига добавить
> переменную "$pool", то не срабатывают правила rewrite.
> Подскажите, может я что-то упустил. Без rewrite я всегда использовал
> переменную в подключаемых файлах и всегда работало.
> Остальные параметры, в том числе и основного конфига "nginx.conf" --
> по-умолчанию
> Может подскажете другой вариант для рерайта? Мне нужна эта переменная )
> 
> # nginx -v
> > nginx version: nginx/1.0.15

Они сработают, просто на бекенд в любом случае уйдёт исходный uri, 
полученный от клиента.  Чтобы ушёл изменённый, нужно обновиться на 
1.1.12+:

    *) Bugfix: a "proxy_pass" directive without URI part always used
       original request URI if variables were used.

Ну а вообще - не надо использовать proxy_pass с переменными без 
нужды.  Это совершенно отдельный режим работы, и там могут быть 
различные нюансы.

Maxim Dounin



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