Re: rewrite+ proxy bind - Баг

Борис Долгов boris на dolgov.name
Вт Дек 15 07:53:54 MSK 2009


Добрый день!
Грабли с if уже расписаны давно.
Запрет на использование if ($uri) - тоже давно расписан.
Посмотрел конфиг, Ваше рег. выражение почти не имеет смысла (или
скрипту принципиально не наличие /)?
Перепишите конфиг так:

server {
    listen    127.0.0.44;
    location / {
       access_log  /var/log/nginx/127.0.0.44_access_log;
       proxy_bind "127.0.0.44";
       proxy_pass   "http://n1ck.name/2.php?$uri";
    }
}


З.Ы. еще, насколько я понимаю, плохая идея - использовать хостнейм в
проксируемом адресе, если он задается строкой. Но я могу ошибаться.

15 декабря 2009 г. 6:25 пользователь Kirill <nginx-forum at nginx.us> написал:
> Уважаемый Игорь. мы обнаружили ошибку в вашем удивительном веб сервере.
> Если вместе rewrite попытаться использовать proxy_bind то он не сработает
> По дебагу видно что pc->local будет пустым (видимо где-то обнуляется)
> Вот пример конфига где proxy_bind не сработает
> ---------------------------------
> user www-data;
> events {
>    use epoll;
> }
>
> http {
>    include       /etc/nginx/mime.types;
>    default_type  application/octet-stream;
>
>    access_log  /dev/null;
>
>    resolver 8.8.8.8;
>
>    server {
>    listen    127.0.0.44;
>    location / {
>        set $dir "/";
>        if ( $uri ~* ^/(.+)$ ) {
>        set $dir $1;
>        }
>       access_log  /var/log/nginx/127.0.0.44_access_log;
>       proxy_bind "127.0.0.44";
>       proxy_pass   "http://n1ck.name/2.php?$dir";
>    }
>    }
> }
> -------
> если из этого примера убрать
>        if ( $uri ~* ^/(.+)$ ) {
>        set $dir $1;
>        }
> то nginx успешно перед proxy_pass сделает bind на 44 айпи
>
> Надеемся на получение заплатки.
> Спасибо!
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,30554,30554#msg-30554
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>



-- 
С уважением, Борис Долгов.
icq 77556665
e-mail boris at dolgov.name


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