ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: Igor Sysoev <nginx-ru@xxxxxxxxx>
  • Subject: Bug: nginx энкодирует переменные $rui и $document_uri
  • From: Alexey Rymonin <x-phoenix@xxxxxxx>
  • Date: Wed, 15 Aug 2007 22:38:29 +0400

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@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@xxxxxxx




 




Copyright © Lexa Software, 1996-2009.