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

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

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
HTTP_403_FORBIDDEN Linux / DevOps

Ошибка 403 Forbidden в Nginx / Apache: проверка прав www-data и index

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

Причины ошибки 403 Forbidden

Веб-сервер принял запрос, но категорически отказывается отдавать страницу клиенту. В логах Nginx появляется запись:

directory index of "/var/www/site/" is forbidden, client: ..., server: ...
Основная причинаЧто происходит
Отсутствует индексный файлВ папке нет файла index.html или index.php, а листинг каталога запрещен
Неправильные права доступаВеб-сервер www-data не может прочитать файл
Закрыты права на родительскую папкуНет флага +x на одной из верхних папок по цепочке к сайту

Пошаговое устранение ошибки 403

  1. Проверьте наличие индексного файла:

    Убедитесь, что в корневой папке сайта действительно существует файл index.html или index.php:

    ls -l /var/www/my_site
  2. Проверьте директиву index в настройках виртуального хоста Nginx:

    Откройте конфиг сайта sudo nano /etc/nginx/sites-available/mysite и убедитесь, что в строке index перечислены ваши файлы:

    index index.php index.html index.htm;
  3. Исправьте владельца и права доступа:
    sudo chown -R www-data:www-data /var/www/my_site
    sudo find /var/www/my_site -type d -exec chmod 755 {} +
    sudo find /var/www/my_site -type f -exec chmod 644 {} +
  4. Проверьте права на чтение корневой цепочки каталогов:

    Веб-сервер должен иметь право исполнения (+x) для прохода по всему пути (/var, /var/www):

    chmod +x /var /var/www
  5. Перезапустите веб-сервер:
    sudo systemctl reload nginx

Если вы храните сайт в домашней папке пользователя (/home/user/): По умолчанию домашняя папка пользователя имеет права 700, поэтому веб-сервер www-data не может в нее зайти. Дайте право на вход: chmod +x /home/user.

Практический опыт инженера: Если сайт размещен в домашней директории (например, /home/alex/myproject), ошибка 403 на 99% вызвана правами 700 на саму папку /home/alex. Никогда не делайте 777 — достаточно выполнить chmod 755 /home/alex.

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

Как включить отображение файлов и папок в браузере (листинг)?

В блоке location / конфигурации Nginx добавьте директиву autoindex on;.

Что означает ошибка 403 при работе с Apache?

В Apache2 ошибка 403 часто вызвана директивой Require all denied в конфигурационном файле. Замените ее на Require all granted.

Может ли файл .htaccess вызывать 403 ошибку в Apache?

Да, если в файле .htaccess прописаны запрещающие правила Deny from all или правила блокировки IP-адресов.

Что делать, если включен модуль безопасности SELinux (на CentOS/RHEL)?

SELinux блокирует доступ веб-сервера к нестандартным папкам. Восстановите контекст безопасности: sudo restorecon -Rv /var/www/site.