Почему в журнале ошибок появляются сообщения "Время ожидания чтения заголовка запроса" при короткой загрузке страницы?
Я запускаю приложение Rails с Apache 2.4.10 и mod_passenger
, Сайт использует исключительно https. Я вижу эти сообщения в моем журнале ошибок:
[Wed May 31 19:05:37.528070 2017] [reqtimeout:info] [pid 11111] [client 10.100.23.2:57286] AH01382: Request header read timeout
[Wed May 31 19:05:37.530672 2017] [reqtimeout:info] [pid 11229] [client 10.100.23.2:57288] AH01382: Request header read timeout
[Wed May 31 19:05:37.890259 2017] [reqtimeout:info] [pid 10860] [client 10.100.23.2:57271] AH01382: Request header read timeout
[Wed May 31 19:05:37.890383 2017] [reqtimeout:info] [pid 10859] [client 10.100.23.2:57272] AH01382: Request header read timeout
[Wed May 31 19:05:37.890459 2017] [reqtimeout:info] [pid 10862] [client 10.100.23.2:57285] AH01382: Request header read timeout
[Wed May 31 19:05:37.947942 2017] [reqtimeout:info] [pid 10863] [client 10.100.23.2:57287] AH01382: Request header read timeout
Эти сообщения появляются в журнале ошибок примерно через две-три секунды после окончания загрузки моей страницы. Однако полная загрузка страницы занимает всего несколько секунд. я использую mod_reqtimeout
с этой настройкой:
RequestReadTimeout header=20-40,minrate=500
Поскольку загрузка страницы занимает всего несколько секунд, я не понимаю, почему Request header read timeout
сообщения заносятся в журнал ошибок.
Почему появляются эти сообщения и что я могу сделать, чтобы это исправить?
1 ответ
Вы уверены, что вы "10.100.23.2"?
Как вы, возможно, уже знаете, reqtimeout должен предотвратить атаки Slow Loris, то есть запросы, которые оставляют соединение открытым без отправки каких-либо реальных данных.
В этом случае эти соединения не отправляют заголовки через 20 секунд, поэтому Apache закрывает их.
Это может быть ваш любимый браузер, отправляющий соединения gazillions для захвата контента и использующий всего несколько, попробуйте какой-нибудь более простой клиентский браузер, такой как "curl", используйте другой браузер и т. Д.