Re[3]: nginx делает нежелательное изменение URI

Igor Sysoev is at rambler-co.ru
Mon Feb 21 17:13:32 MSK 2005


On Mon, 21 Feb 2005, Igor Sysoev wrote:

> On Mon, 21 Feb 2005 opennet at dtw.ru wrote:
>
>>>>>> Вот есть такой кусок конфига:
>>>>>> 
>>>>>> location / {
>>>>>> proxy_pass  http://192.168.112.33/;
>>>>>> proxy_preserve_host        on;
>>>>>> proxy_set_x_real_ip        on;
>>>>>> }
>>>>>> 
>>>>>> debug лог:
>>>>>> 2005/02/21 14:30:25 [debug] 5499#0: *2 http request line:
>>>>>> "GET /section/%23.html HTTP/1.1"
>>>>>> 2005/02/21 14:30:25 [debug] 5499#0: *2 http uri: "/section/#.html"
>>>>>> 
>>>>>> Апачу передается такой запрос:
>>>>>> "GET /section/#.html HTTP/1.0
>>>>>> 
>>>>>> Как нибудь можно сделать, чтобы Апачу передавалось %23 а не # ?
>> 
>>> Насколько я понимаю, браузер передавать "#" не будет, так как это anchor.
>>> А что Апач-то выдаёт в случае "/#.html" ? Ему-то всё равно anchor или нет.
>> Так ведь из debug лога видно, что браузер передает ИМЕННО %23 и не #.
>> А nginx у апача запрашивает уже anchor.
>
> Это понятно. Поменять легко.

Вот патч:
--------------------
--- src/core/ngx_string.c     Wed Feb  2 19:24:50 2005
+++ src/core/ngx_string.c     Mon Feb 21 17:11:08 2005
@@ -628,7 +662,7 @@
          { 0xffffffff, /* 1111 1111 1111 1111  1111 1111 1111 1111 */

                        /* ?>=< ;:98 7654 3210  /.-, +*)( '&%$ #"!  */
-          0x80000021, /* 1000 0000 0000 0000  0000 0000 0010 0001 */
+          0x80000029, /* 1000 0000 0000 0000  0000 0000 0010 1001 */

                        /* _^]\ [ZYX WVUT SRQP  ONML KJIH GFED CBA@ */
            0x00000000, /* 0000 0000 0000 0000  0000 0000 0000 0000 */
@@ -647,7 +681,7 @@
          { 0xffffffff, /* 1111 1111 1111 1111  1111 1111 1111 1111 */

                        /* ?>=< ;:98 7654 3210  /.-, +*)( '&%$ #"!  */
-          0x80000821, /* 1000 0000 0000 0000  0000 1000 0010 0001 */
+          0x80000829, /* 1000 0000 0000 0000  0000 1000 0010 1001 */

                        /* _^]\ [ZYX WVUT SRQP  ONML KJIH GFED CBA@ */
            0x00000000, /* 0000 0000 0000 0000  0000 0000 0000 0000 */
--------------------


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list