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