LINUX.ORG.RU
решено ФорумAdmin

Nginx и 400 error


0

1

Добрый вечер! Начинаю видеть недавно что в access.log начали писаться 400 ошибки, например:

xx.xx.xx.xx - - [20/Oct/2012:12:35:04 +0300] "-" 400 0 "-" "-"

Каким образом их можно убрать из лога, или это невозможно?

p.s. такие сообщения как «а зачем, пускай будет», прошу даже не писать.


Надеюсь, ты не имеешь в виду - «решить» проблему методом страуса, отключив логирование?

Заблокируй на файрволе эти самые xx.xx.xx.xx

router ★★★★★ ()
Ответ на: комментарий от router

Не имеет значения каким образом решить проблему, главное её решить. 400 ошибки у реальных пользователей, а не у ботов.

ZorG ()
Ответ на: комментарий от ZorG

либо реальные пользователи шлют плохие запросы либо стоит попробовать подкрутить large_client_header_buffers (http://wiki.nginx.org/HttpCoreModule), но если хидер от клиента не влазит в 8k, это опять же наводит на мысль о плохих запросах.

ventilator ★★★ ()
Ответ на: комментарий от ZorG

Включи debug, увидишь почему эти запросы некорректны

Если используешь http, без ssl, также попробуй снять дамп траффика ( tcpdump -s0 -w /tmp/dump.raw ), потом его удобно смотреть wireshark ( analyze -> follow tcp stream ). Для ssl есть ssldump, не пробовал.

router ★★★★★ ()
Ответ на: комментарий от ventilator

Предлагаю всё же посмотреть отладочные логи, а если не поможет - дамп. Мало ли чем именно эти запросы плохие. Может соединения обрываются или какое шибко умное сетевое устройство решило инспектировать трафик на порт nginx ;)

router ★★★★★ ()
Ответ на: комментарий от router

Если по дебагу, то:

2012/10/25 14:11:08 [info] 15763#0: *4360 client prematurely closed connection while reading client request line, client: 296.296.296.296, server: domain.ru
2012/10/25 14:11:08 [info] 15763#0: *4359 client prematurely closed connection while reading client request line, client: 296.296.296.296, server: domain.ru
2012/10/25 14:11:08 [info] 15763#0: *4356 client 296.296.296.296 closed keepalive connection

ZorG ()
Ответ на: комментарий от router

Вроде как да, потому что если очистить лог access.log и наблюдать логи, тоесть выбрать ip от которого идет такие запросы, а потом сделать выборку по дебагу, то только это.

ZorG ()
Ответ на: комментарий от ZorG

http://forum.lissyara.su/viewtopic.php?f=3&t=32978&view=unread

Анализ логов показывает, что ошибка 400 идет от браузера хром. Он каким-то странным образом умудряется дублировать запрос для получения статики (ошибка проявляется при запросах к jpg). На первый запрос ему возвращается контент с кодом 200, а второй запрос примерно через 15-20 сек отдается ошибкой 400.

router ★★★★★ ()
7 декабря 2012 г.
Ответ на: комментарий от router

Не только от хрома, проверил еще, опера и мозилла тоже шлют. А может влиять количество воркеров (указано больше чем ядер), и количество коннектов макс

ZorG ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.