erroneous characters after protocol string
Maxim Dounin
mdounin at mdounin.ru
Wed Mar 20 18:28:41 UTC 2013
Hello!
On Wed, Mar 20, 2013 at 09:55:55PM +0400, Михаил Монашёв wrote:
> Здравствуйте, Maxim.
>
> В логе ошибок Апача вижу вот такие ошибки:
> [Wed Mar 20 18:48:05 2013] [error] [client 127.0.1.5] request failed: erroneous characters after protocol string: GET /r?r=http%3A%2F%2Flesfacadiersdelamediterranee.com %2Flevel%2F1%2Ffilm%2F412283%2F HTTP/1.0
> [Wed Mar 20 19:39:28 2013] [error] [client 127.0.1.5] request failed: erroneous characters after protocol string: GET /r?r=http%3A%2F%2Fdo-it-mobile.com%2Fstory.php%3Ftitle%3D\\xec\\xa0\\x84\\xeb\\xa1\\x80\\xeb\\xb4\\x89\\xec\\x82\\xac\\xeb\\x8b\\xa8-\\xeb\\xb6\\x80\\xed\\x99\\x9c-\\xec\\xa0\\x9c-3\\xec\\xa3\\xbc-\\xec\\xa0\\x9c\\xeb\\x8c\\x80\\xea\\xbd\\x83 HTTP/1.0
>
> К апачу запросы проксирует nginx, у которого включён
> accept_filter=httpready . Я думал, что мусор до бэкенда пройти не
> может. Но как-то получилось, что кривые запросы пропустил сначала
> акцепт-фильтр, а затем и nginx/1.3.11. Хочется понять, как такой
> запрос прошёл и можно ли nginx-ом прикрывать Апач от мусорных
> запросов?
Accept-фильтр всё, что не понимает, пропускает, даже если это
вообще не HTTP. А nginx спокойно относится к использованию в URI
любых не-специальных символов, особенно учитывая, что такие
запросы вполне встречаются в реальности.
Если хочется проверять - это всегда можно сделать явно.
--
Maxim Dounin
http://nginx.org/en/donation.html
Подробная информация о списке рассылки nginx-ru