Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

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.

Полезные материалы
Рекомендуем