nginx-0.1.43 parser error
Igor Sysoev
is at rambler-co.ru
Tue Sep 27 14:22:17 MSD 2005
On Tue, 27 Sep 2005, Alexander Gnevshev wrote:
> Igor Sysoev wrote:
> On Thu, 22 Sep 2005, Alexander Gnevshev wrote:
>
> Чтобы:
> - была возможность избавиться от страниц-дублей;
>
>
> Где - на сайте или в ссылках ?
>
> Везде. В том числе в поисковиках.
А что это даёт, кроме лишнего запроса клиенту ? Веб переделать нереально.
Ты считаешь, что если кто-то поставил ссылку /dir, а сервер выдал
на неё редирект /dir/, то этот кто-то озаботится исправлением этой ссылки
у себя ? Сильно сомневаюсь.
Что касается поисковиков, то они индексы обновляют регулярно, достаточно
исправить у себя.
> - всегда твёрдо знать, что параметры URI в
> location сравниваются напрямую с URI, пришедшим
> от пользователя (без преобразований);
>
>
> Ну, например, частный случай: /page.html и //page.html. Что
> предлагается
> делать со вторым ?
>
> Оставлять как есть и обрабатывать все location как есть, даже если это
> вызовет 404.
А что делать /.././/./%2E%2E/../etc/passwd ?
> - иметь полный контроль над URI, чтобы можно было
> хотя бы в логе увидеть подобные запросы;
>
>
> %request пишет в лог оригинальный URI.
>
> Это значит, что при подсчёте статистики будет некоторая погрешность, так
> как никто никогда не делает обработку a-la shell для директорий в URI при
> обработке логов.
А вот это напрасно. Я в логах неоднократно видел /~user/ и /%7Euser/.
> - не навязывать администраторам nginx парсинг URI
> без возможности его отключения.
>
>
> А как же URI обратывать, если его не парсить ? Как его потом
> сравнивать с location ?
>
> Под парсингом в данном случае я имел в виду автоматические замены для
> каталогов:
> * два и более слэша преобразуются в один слэш: "//" - "/";
> * убираются ссылки на текущий каталог: "/./" - "/";
> * убираются ссылки на предыдущий каталог: "/dir/../" - "/".
> Вообще в наше время считать, что URI является прямым отображением на
> директории на диске, -- прямая ошибка. Это уже давно не актуально. На
> большинстве крупных ресурсов URI внутри обрабатывается (переписывается
> rewrite и пр.) и с именем файла не совпадает.
>
> Также очень интересен вариант, когда в URI передаётся параметр для
> редиректа на другой сайт (двойной слэш). Так тоже делают, но этот вариант
> не будет работать с nignx.
>
> Именно поэтому очень хочется иметь возможность влиять на поведение nginx
> в этом вопросе.
Ну вот пусть бэкенд и разбирается со странными URI, возможность передать
в оригинальном виде есть.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list