Переменная для proxy_set_header

Alex Vorona voron at amhost.net
Tue May 27 23:44:09 MSD 2008


N M пишет:
> Добрый день
> 
> Входящий URI разбивается на переменные, которые потом переставляются и 
> обрабатываются, среди этих переменных есть имя домена - которое 
> необходимо поставить в proxy_set_header.  
> 
> Как заставить переменную $2 передатся в качестве аргумента для 
> proxy_set_header?
> В логах она вываливается как undefined variable "newhost"..
> 
> server {
>         listen      ip.ip.ip.ip:80;
>         server_name  domain.com <http://domain.com> www.domain.com 
> <http://www.domain.com>;
> 
>         access_log  /var/log/nginx/domain.com_access.log ;
>         error_log   /var/log/nginx/domain.com_error.log info;
> 
>         location / {
>                 rewrite ^/([^/]+)/([^/]+)/([^/]+)$ /$1/?$3 break;
>                 set $newhost $2;
>         proxy_set_header Host $newhost ;
>         proxy_pass http://path_to_proxying;
> 
> Может быть, т.к. после rewrite стоит break, сервер заканчивает 
> обработку\присваивание переменных?
> 
> Подскажите пожалуйста.
> 
> Спасибо.
> 
я устанавливал переменную через if с регекспом, аналогичным rewrite'овому, и 
после if делал rewrite break
например http://www.lexa.ru/nginx-ru/msg17437.html





More information about the nginx-ru mailing list