Как настроить mod_evasive для проявления состояния HTTP 429 вместо 403?

Некоторые пауки поисковой системы как проверка Bingbot слишком быстро и, кажется, не повинуются robots.txt crawl-delay директива. Это инициировало механизм защиты DOS в mod_evasive генерировать HTTP 403 запрещенные ошибки. Но показ 403 ошибок к ботам для совершенно допустимых страниц не идеален и может влиять на разряд страницы. Есть ли способ настроить mod_evasive показать состояние HTTP 429 вместо 403?

429 слишком много запросов

429 кодов состояния указывают, что пользователь отправил слишком много запросов за данное количество времени ("ограничение уровня").

Представления ответа ДОЛЖНЫ включать детали, объясняющие условие, и МОГУТ включать Повторную попытку - После заголовка, указывающего, сколько времени ожидать прежде, чем выполнить новый запрос.

2
задан 21 September 2014 в 11:36
2 ответа

В основном вы просто меняете HTTP_FORBIDDEN на HTTP_TOO_MANY_REQUESTS в mod_evasive20.c и скомпилируйте снова.

3
ответ дан 3 December 2019 в 10:03

Я разветвил mod_evasive и сделал настраиваемый статус ответа (вместе с некоторыми другими функциями), проверьте это: https://github.com/jvdmr/mod_evasive

Для настройки для этого установите новую версию и добавьте DOSHTTPStatus 429 в вашу конфигурацию (глобально или на виртуальном хосте, который вы хотите защитить).

1
ответ дан 3 December 2019 в 10:03

Теги

Похожие вопросы