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

Igor Sysoev igor на sysoev.ru
Чт Июн 14 15:03:48 UTC 2012


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" --
> по-умолчанию
> Может подскажете другой вариант для рерайта? Мне нужна эта переменная )

    server {
        listen ip:port;
        server_name name.ru www.name.ru;
        charset windows-1251;

        access_log /var/log/nginx/name.ru-access.log;
        error_log /var/log/nginx/name.ru-error.log warn;
        access_log on;

        proxy_read_timeout 600;
        proxy_send_timeout 600;
        proxy_connect_timeout 600;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        location = /yandex/rss.xml {
            proxy_pass   http://127.0.0.1:8080/rss/yandex/;
        }

        location = /rss/rss.xml {
            proxy_pass   http://127.0.0.1:8080/rss/all/;
        }

        location / {
            proxy_pass   http://127.0.0.1:8080/404.php;
        }
     }


-- 
Igor Sysoev



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