Re: по каким признакам строка запроса вызывает 400 Bad Request

Igor Sysoev igor на sysoev.ru
Пт Апр 13 10:20:22 UTC 2012


On Fri, Apr 13, 2012 at 01:50:37PM +0400, Phil Kulin wrote:
> Вот такая строка:
> http://mydomain.tld/faq/%D0%B0%D1%80%D...A%D1%82%D1%8B/
> выдаёт ошибку 400, а вот такие:
> http://mydomain.tld/news/tags/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%B0%D1%80%D
> http://mydomain.tld/faq/%D1
> пропускатся дальше к апстримам (и вот например apache на них внезапно
> реагирует 400).
> 
> Изначальная задача - ловить переходы по битым ссылкам. И если первые
> перехватываются директивой error_page, то остальные нет.
> 
> Мне не очень понятно, почему вообще они считаются Bad Request? Apache
> хочет их раскодировать, это понятно, а nginx-то что делает? И в чём
> разница между приведёнными ссылками?

"%D." неправильно закодированный символ.
nginx тоже пытается раскодировать, чтобы сравнивать с location'ами.


-- 
Igor Sysoev



Подробная информация о списке рассылки nginx-ru