Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
Apache Error: AH01630: client denied by server configuration: /var/www/html/admin Linux / DevOps

Apache Error AH01630: client denied by server configuration — Решение

Обновлено: 18.08.2026  ·  Официальная база знаний

Клиент при попытке доступа к веб-странице или API получает код 403 Forbidden. В системном журнале error.log Apache регистрируется запрет авторизации: [authz_core:error] [pid 1234:tid 5678] [client 192.168.1.50:45678] AH01630: client denied by server configuration: /var/www/html/admin.

КонфигурацияСинтаксис Apache 2.2 (Устаревший)Синтаксис Apache 2.4 (Актуальный)
Полный публичный доступOrder allow,deny / Allow from allRequire all granted
Полный запрет доступаOrder deny,allow / Deny from allRequire all denied
Ограничение по IPAllow from 192.168.1.0/24Require ip 192.168.1.0/24
  • Apache блокирует обращение к директории на основе правил авторизации ядра (mod_authz_core).
  • Сбой часто происходит после переноса сайта со старого сервера CentOS 6/Debian 7 на современный дистрибутив.
  1. Откройте конфигурационный файл виртуального хоста (/etc/apache2/sites-available/site.conf или /etc/httpd/conf.d/vhost.conf).
  2. Найдите блок <Directory>, соответствующий запрошенному пути, и добавьте директиву Require all granted:
    <Directory /var/www/html>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
  3. Проверьте локальные файлы .htaccess в целевом каталоге на наличие устаревших директив Deny from all или Order:
    grep -rn "Deny from" /var/www/html/
  4. Если доступ должен быть ограничен конкретной подсетью, используйте современный синтаксис:
    <Directory /var/www/html/admin>
        Require ip 192.168.1.0/24 10.0.0.5
    </Directory>
  5. Проверьте валидность синтаксиса: sudo apache2ctl configtest или sudo httpd -t.
  6. Примените изменения: sudo systemctl reload apache2 # или httpd.
Модуль совместимости mod_access_compat: Использование старых директив Order/Allow/Deny в Apache 2.4 возможно только при активном модуле mod_access_compat. Однако смешивание старого и нового синтаксиса в одной конфигурации приводит к непредсказуемым блокировкам и ошибкам AH01630.
Практический опыт инженера: По умолчанию в Apache 2.4 корневая директория сервера `/` закрыта директивой `Require all denied`. Если для вашего `DocumentRoot` нет явного блока `` с разрешением `Require all granted`, все запросы гарантированно упадут с AH01630.

Частые вопросы (FAQ)

Чем Require all granted отличается от Allow from all?

Require all granted — это нативная директива подсистемы авторизации Apache 2.4 (mod_authz_core), пришедшая на смену устаревшему механизму проверок mod_authz_host из Apache 2.2.

Может ли файл .htaccess вызывать AH01630?

Да, если внутри .htaccess прописана директива Require all denied, Deny from all или некорректное правило фильтрации по IP/хосту.

Как разрешить доступ только авторизованным пользователям или локальной сети?

Используйте контейнер <RequireAny>: Require ip 192.168.1.0/24 и Require valid-user внутри него.

Что делать, если DocumentRoot расположен вне стандартного каталога /var/www?

Вам необходимо явно создать блок <Directory /ваш/кастомный/путь> с параметром Require all granted в главном конфигурационном файле.