Apache Linux (Apache HTTP Server 2.4)

Apache: при ограничении запросов блокируются обычные пользователи

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Когда Apache или расположенный перед ним фильтр начинает отклонять обычных пользователей, сперва установите источник ограничений. mod_ratelimit в Apache 2.4 ограничивает скорость передачи одного ответа, а не число запросов с IP; HTTP 429/403 часто формирует WAF, mod_security, сторонний mod_evasive, CDN или приложение.

В этой статье
  1. Симптом и границы применимости
  2. Возможные причины и как их отличить
  3. Пошаговая диагностика и исправление
  4. Как проверить результат
  5. Если проблема не устранена

#Симптом и границы применимости

Когда Apache или расположенный перед ним фильтр начинает отклонять обычных пользователей, сперва установите источник ограничений. mod_ratelimit в Apache 2.4 ограничивает скорость передачи одного ответа, а не число запросов с IP; HTTP 429/403 часто формирует WAF, mod_security, сторонний mod_evasive, CDN или приложение.

#Возможные причины и как их отличить

Возможная причинаКак узнатьЧто делать
Срабатывает защитный модуль или WAFФильтр может блокировать обращения по шаблонам и частоте.403/429 совпадают с записями mod_security или панели CDNУточнить ID правила и его действие
Счётчик IP ошибочно объединяет посетителейЕсли ограничения основаны на IP прокси, страдают все пользователи за ним.В журнале все пользователи выглядят как IP проксиПроверить mod_remoteip и доверенную цепочку
Потоки заняты медленными передачамиmod_ratelimit удерживает поток во время ограниченной передачи.Запросы ждут, но нет событий блокировкиПроверить фильтр RATE_LIMIT и рабочие потоки

#Пошаговая диагностика и исправление

  1. Установите точный код и момент отказаПопросите одного согласившегося пользователя воспроизвести запрос без передачи пароля. Сохраните время и URL без токенов. В инструментах браузера F12 → «Сеть» проверьте статус 403, 429 либо задержку. Если сообщение выдаёт CDN, Apache мог вообще не получить запрос.
  1. Сверьте журнал по времени и модулюПо SSH найдите CustomLog и ErrorLog нужного домена и его статусный код. Проверьте записи WAF или модулей защиты, если они установлены. Не отключайте весь mod_security ради одного ложного срабатывания: сначала нужен ID правила и воспроизводимый безопасный запрос.
  2. На Debian/Ubuntu; наличие модуля не доказывает, что он вызвал блокировку
    Linux · Терминал (Bash)КомандаНужен sudo
    На Debian/Ubuntu; наличие модуля не доказывает, что он вызвал блокировку.
    sudo apache2ctl -M | grep -Ei "security|evasive|ratelimit|remoteip"
  1. Проверьте реальный адрес клиентаЕсли Apache за прокси, сопоставьте адрес TCP-подключения и IP после mod_remoteip. При неверной конфигурации все посетители могут выглядеть как один адрес и быстро исчерпывать общий лимит. Исправляйте RemoteIPHeader только вместе со списком доверенных прокси.
  1. Проверьте, где именно настроено ограничениеПосмотрите конфигурацию модулей Apache, панели CDN и приложения. Для mod_ratelimit ищите SetOutputFilter RATE_LIMIT и SetEnv rate-limit — это ограничение полосы ответа, не лимит количества запросов. HTTP 429 часто связан с иной защитой.
  2. Пример Debian; отдельный WAF/CDN может управляться вне Apache
    Linux · Терминал (Bash)КомандаНужен sudo
    Пример Debian; отдельный WAF/CDN может управляться вне Apache.
    sudo grep -R -nE "RATE_LIMIT|rate-limit|SecRule|DOSPageCount|RemoteIP" /etc/apache2
  1. Сделайте адресное исключение, а не отключение защитыВ интерфейсе установленного WAF откройте журнал событий, выберите правило по ID и IP/пути и проверьте разрешённый способ точечного исключения. Сначала примените только к безопасному маршруту и узкому условию, затем посмотрите, не усилились ли атаки. Перед сохранением записывайте старое условие для отката.
  1. Проверьте после корректировкиЕсли изменялся Apache — запустите configtest и перечитайте службу; изменения панели CDN применяются по её правилам. Проверьте 5–10 законных запросов и 1 контролируемый запрос, который должен оставаться запрещённым. Не проводите нагрузочное испытание на чужом сервере.
  2. Только при изменении Apache и сохранённой резервной копии; пример Debian
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Только при изменении Apache и сохранённой резервной копии; пример Debian.
    sudo apache2ctl configtest && sudo systemctl reload apache2

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

#Как проверить результат

Легитимный запрос получает ожидаемый ответ, в журналах нет ошибочного срабатывания; подозрительные запросы по-прежнему блокируются. Отслеживайте результат при нормальной нагрузке.

#Если проблема не устранена

Если нет событий в Apache, изучите Nginx/CDN или само приложение. Если задержки, а не коды 403/429, измерьте рабочие потоки и влияние mod_ratelimit.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.