Re[2]: Попытка миграции 0.7 -> 0.8 БАГИ
Илья Винокуров
ilvin на mail.ru
Чт Апр 8 13:01:15 MSD 2010
Здравствуйте, Валерий!
Итак, что имеем:
nginx-0.8.35
nginx-eval-module-1.0.2 (брал здесь http://github.com/vkholodkov/nginx-eval-module/downloads)
Как компилировал:
# tar -xf nginx-0.8.35.tar.gz
# cd nginx-0.8.35
# ./configure --prefix=/usr/local/nginx --add-module=../nginx-eval-module-1.0.2
# make
Что в конфиге:
pid /var/run/nginx.pid;
events {
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name servername;
location ^~ /POST/ {
eval $swa_val {
proxy_pass http://127.0.0.1:8090/lib/script.ssi;
}
}
}
}
# fetch http://servername/POST/dir/send.tmpl
# nc -l 127.0.0.1 8090
GET /lib/script.ssimpl HTTP/1.0
Host: 127.0.0.1:8090
... Кучка остальных заголовков
Такое ощущение, что при перезаписи URL в eval модуле забыли поставить нолик в конце строки...
Т.е. условие выявления бага - URI родительского запроса должен быть длиннее URI, по
которому обращается модуль eval.
С почтением,
Илья Винокуров.
Wed, 07 Apr 2010 19:30:23 +0200 письмо от Valery Kholodkov <valery+nginxru at grid.net.ru>:
> Илья Винокуров пишет:
>
> > 2) Глючит модуль eval:
> > location ^~ /POST/ {
> > eval_override_content_type text/plain;
> > eval $var {
> > proxy_method GET;
> > proxy_pass_request_body off;
> > proxy_pass_request_headers off;
> > proxy_set_header Host $host;
> > proxy_pass http://127.0.0.7:87/lib/script.ssi;
> > }
> > proxy_set_header X-Val $val;
> > ...
> > }
> > Приходит POST запрос /POST/send.tmpl
> >
> > Раньше генерировался HTTP заголовок eval подзапроса как
> > GET /lib/script.ssi HTTP/1.0
> >
> > теперь такой
> > GET /lib/script.ssitmpl HTTP/1.0
> > Откуда здесь расширение родительского запроса?
>
> К сожалению, с этой конфигурацией не могу воспроизвести, нужны подробности:
>
> # nc -l -p 87
> GET /lib/script.ssi HTTP/1.0
> Host: 127.0.0.1
> Connection: close
>
> --
> Best regards,
> Valery Kholodkov
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
Подробная информация о списке рассылки nginx-ru