Re: rewrite+ proxy bind - Баг
Sergey Shepelev
temotor на gmail.com
Вт Дек 15 10:43:10 MSK 2009
2009/12/15 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 айпи
>
> Надеемся на получение заплатки.
> Спасибо!
>
Действительно, у вас в конфиге баг (if).
Вот заплатка:
--- f1 2009-12-15 10:36:11.543424434 +0300
+++ f2 2009-12-15 10:41:41.139866364 +0300
@@ -14,13 +14,9 @@
server {
listen 127.0.0.44;
location / {
- set "/";
- if ( ~* ^/(.+)$ ) {
- set ;
- }
access_log /var/log/nginx/127.0.0.44_access_log;
proxy_bind "127.0.0.44";
- proxy_pass "http://n1ck.name/2.php?";
+ proxy_pass "http://n1ck.name/2.php?$uri";
}
}
}
> 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
>
Подробная информация о списке рассылки nginx-ru