Назад | Перейти на главную страницу

слишком много кодов ошибок 408 в журнале доступа

Журнал доступа Apache показывает слишком много кодов ошибок 408, почти 400 в день.

x-x-x-x - - [25 / апр / 2012: 22: 43: 06 -0600] "-" 408 0 "-" "-"

существует около 400 таких запросов с разных IP-адресов.

Я не знаю, является ли это причиной появления слишком большого количества детей, иногда около 624 детей, и это тоже с небольшим количеством пользователей. Как я могу выяснить точную причину. Мы используем php и mysql (connections- 800)

включен: tcp_tw_reuse

syn_retries: 2

syn_ack_retires: 3

fin-time_out: 30

тайм-аут apache: 15

продолжать жить

время ожидания 7

max_spare: 40

min_spare: 25

запросперочь: 4000

MAX_CLIENTS: 800

Вы устанавливаете Timeout к 15? Зачем?

HTTP 408 - «Тайм-аут запроса»

В основном это происходит, когда клиент connect()s, но не отправляет никаких данных до истечения времени ожидания.

10.4.9 408 Тайм-аут запроса

Клиент не отправил запрос в течение времени, которое сервер был готов ждать. Клиент МОЖЕТ повторить запрос без изменений в любое время.

RFC2616 §10

Измените время ожидания на значение по умолчанию 300 и прекратите попытки преждевременно оптимизировать вашу систему.

Как сказано выше, это тайм-аут запроса.

Вы можете подвергнуться атаке slowloris, если это так, вы рады видеть все эти 408 в журналах, это означает, что ваш сервер отбрасывает злоумышленников, и да, проверьте настройку тайм-аута, проверьте, есть ли у вас mod_reqtimeout.

Если бы ваш сервер не сбрасывал их, он, скорее всего, был бы недоступен / недоступен.

смотрите также Как я могу обнаружить Slowloris?

Проверьте IP-адреса и дату-время для всех статусов 408 в журналах, проверьте последовательные запросы с одного и того же IP-адреса и проверьте время их запроса, если разница во времени мала, тогда поздравляем, у вас есть mod_security включен и настроен правильно. для получения дополнительной информации проверьте это (https://www.modsecurity.org/) на mod_security.