Журнал доступа 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.