Re[2]: исчезает символ при проксировании

Igor Sysoev is at rambler-co.ru
Tue Jun 14 09:29:31 MSD 2005


On Mon, 13 Jun 2005, Yevgeniy Kruglov wrote:

> Hello Igor,
>
> Friday, November 26, 2004, 4:47:36 AM, you wrote:
>
>>> Да, nginx нормализует URI (но не аргументы) следущим образом:
>>> *) несколько / превращается в один /
>>> *) /./ превращается в /
>>> *) /../ убирает предыдущий каталог, если убирать нечего, возвращается 400
>>> *) под win32 /.../ убирает два каталога
>>> *) под win32 \ превращается в /
>>> *) %XX преобразуется в символ. Преобразование однократное, то есть, "%2530"
>>>    преобразуется в "%30", а не в "0"
> IS> Я решил сделать всё-таки всегда склеивать несколько "/" в один без всяких
> IS> директив, кроме одной комбинации: "://". Есть какие-нибудь ещё комбинации ?
>
> А эта комбинация сейчас работает? Необходимость в этом появилась только сейчас,
> на сервере nginx 0.1.35, на других версиях не проверялось.
>
> URL типа http://site.com/cgi/script/http://anothersite.com?r=aa&r2=bb ,
> соответсвенно после того, как сайт упрятали за nginx на frontend, второй двойной
> слэш из URI пропал.

Нет, эта комбинация сейчас не работает:

Изменения в nginx 0.1.27                                          28.03.2005

     [ ... ]

     *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
        символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.

Нужно использовать "proxy_pass_unparsed_uri  on", в этом случае
никакго изменения URI, передаваемого бэкенду, не будет:
http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_pass


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





More information about the nginx-ru mailing list