Некоторые пауки поисковой системы как проверка Bingbot слишком быстро и, кажется, не повинуются robots.txt crawl-delay
директива. Это инициировало механизм защиты DOS в mod_evasive
генерировать HTTP 403 запрещенные ошибки. Но показ 403 ошибок к ботам для совершенно допустимых страниц не идеален и может влиять на разряд страницы. Есть ли способ настроить mod_evasive
показать состояние HTTP 429 вместо 403?
429 слишком много запросов
429 кодов состояния указывают, что пользователь отправил слишком много запросов за данное количество времени ("ограничение уровня").
Представления ответа ДОЛЖНЫ включать детали, объясняющие условие, и МОГУТ включать Повторную попытку - После заголовка, указывающего, сколько времени ожидать прежде, чем выполнить новый запрос.
В основном вы просто меняете HTTP_FORBIDDEN на HTTP_TOO_MANY_REQUESTS в mod_evasive20.c и скомпилируйте снова.
Я разветвил mod_evasive и сделал настраиваемый статус ответа (вместе с некоторыми другими функциями), проверьте это: https://github.com/jvdmr/mod_evasive
Для настройки для этого установите новую версию и добавьте DOSHTTPStatus 429
в вашу конфигурацию (глобально или на виртуальном хосте, который вы хотите защитить).