Bug: nginx энкодирует переменные $rui и $document_uri

Alexey Rymonin x-phoenix at mail.ru
Wed Aug 15 22:38:29 MSD 2007


Hello Igor,

Сабж... или может так и должно быть... просто у меня в логах
оказалось очень много ошибок было 505 (HTTP version not supported)
Я стал отлавливать когда же они получаются и выловил

set  $req_uri  $document_uri;
location /servlets/ {
         rewrite  ^(.*)$                   $1?tom_req_uri=$req_uri  break;

         proxy_pass         http://127.0.0.1:8080;
}

rewrite  ^/test/([^/.]+)/$    /servlets/test.htm  last;

А далее, если в uri возникает %20 то
[root at snake conf]# curl "http://localhost/test/somesymbols%20anything/" -I
HTTP/1.1 505 HTTP Version Not Supported
Server: nginx/0.6.7
Date: Wed, 15 Aug 2007 18:37:51 GMT
Transfer-Encoding: chunked
Connection: keep-alive

Поскольку req_uri = /test/somesymbols anything/

то есть %20 он замени на пробел....
так с любыми символами %

если заменить $uri на $request_uri, то там encoding не делается...
ну и соотвественно есзи закоментить реврайт, то тоже все работает
нормально?




-- 
Best regards,
 Alexey                          mailto:x-phoenix at mail.ru






More information about the nginx-ru mailing list