Ошибки

Ошибка 403 Forbidden: что значит и как исправить

403 Forbidden — сервер понял запрос, но выполнять его не стал: доступ к странице или файлу запрещён. Для посетителя это тупик — повторный вход не поможет. Для владельца сайта 403 обычно означает одно из пяти: нет индексного файла, у nginx нет прав на файлы, сработал запрет в настройках, не найден файл паролей или доступ закрыла защита хостинга.

Обновлено 07.10.2026≈ 5 мин чтения
Содержание 9

Что означает код 403

По стандарту HTTP код 403 значит: сервер понял запрос, но отказывается его выполнять. Если в запросе были логин и пароль или токен, сервер считает их недостаточными, и повторять запрос с теми же данными бессмысленно. Причину сервер может объяснить в тексте ответа, а может и скрыть: стандарт разрешает вместо 403 ответить 404, чтобы не раскрывать, что ресурс вообще существует.

Чем 403 отличается от 401: при 401 сервер не знает, кто вы, и вход может помочь. При 403 вход ничего не изменит.

Если вы посетитель

  1. Проверьте адрес. 403 бывает, если открыть каталог без файла страницы — например, адрес оборвался на /images/.
  2. Если вы вошли на сайт, выйдите и войдите снова: у вашей учётной записи может не хватать прав.
  3. Обновите страницу через несколько минут. Защита сайта могла временно заблокировать слишком частые запросы.
  4. Если ошибка не уходит — это решение или ошибка владельца сайта. Напишите ему, какую страницу вы открывали и когда.

Пять причин 403 в nginx

Причину обычно видно в журнале ошибок — в Ubuntu и Debian это /var/log/nginx/error.log. Ищите строку с адресом, который выдал 403.

Строка в журналеЧто случилось
directory index of "/var/www/site/" is forbiddenОткрыли каталог, а в нём нет индексного файла (index.html, index.php), и показ списка файлов выключен
open() "/var/www/site/file.html" failed (13: Permission denied)У nginx нет прав прочитать файл или пройти по каталогам на пути к нему
"/var/www/site/" is forbidden (13: Permission denied)У nginx нет прав на сам каталог
access forbidden by ruleСработал запрет deny в настройках
open() "/etc/nginx/.htpasswd" failed (2: No such file or directory)Для раздела включён вход по паролю, а файла с паролями нет

Если в журнале ничего нет, 403 мог вернуть не nginx, а программа сайта (PHP, приложение) или посредник перед сервером — CDN или защита от атак. Это видно по тексту страницы ошибки и заголовку Server в ответе.

Как исправить

Нет индексного файла. Проверьте, что в каталоге сайта есть index.html или index.php и что он указан в директиве index. Для сайта на PHP:

index index.php index.html;

Список файлов каталога nginx показывает только при autoindex on — по умолчанию выключено, и включать это для сайта не стоит.

Нет прав. Процесс nginx (в Ubuntu — пользователь www-data) должен читать файлы и проходить по всем каталогам на пути к ним. Права по всей цепочке покажет команда namei:

namei -l /var/www/site/index.html

Обычно хватает прав 644 на файлы и 755 на каталоги. Каталог с правом 700 или 750 в начале пути (например, домашняя папка пользователя) закрывает всё, что лежит внутри, — даже если у самих файлов права правильные.

Запрет в настройках. Найдите директивы deny в конфигурации сайта:

grep -rn "deny" /etc/nginx/

Правило deny all ставят, например, на служебные файлы вроде .htaccess или .git — это нормально. Плохо, если оно случайно закрывает нужный раздел или ваш IP-адрес.

Файл паролей. Проверьте путь в директиве auth_basic_user_file. Подробнее — в разборе ошибки 401.

После любых правок: sudo nginx -t, затем sudo systemctl reload nginx.

На обычном хостинге

Самые частые причины там те же: нет индексного файла в корне сайта, права на файлы после загрузки по FTP или запрет в .htaccess. Права меняют в файловом менеджере панели или в FTP-клиенте. Если всё в порядке, а 403 остаётся, напишите в поддержку адрес страницы и время: доступ могла закрыть защита хостинга.

Как 403 влияет на поиск

Яндекс советует: если страница должна быть в поиске, откройте к ней доступ — страницу с ответом 403 робот не проиндексирует. И наоборот, ответ 403, 404 или 410 — один из способов убрать страницу из поиска: по справке Яндекса, такие страницы выпадают из поисковой базы в течение недели после того, как робот увидит ответ.

Чем 403 отличается от соседних кодов

КодКогда возникает
401Нужно войти: сервер не знает, кто вы
403Доступ запрещён, вход не поможет
404Страницы нет — или сервер не хочет признаваться, что она есть
405Страница есть, но не принимает этот метод запроса
429Слишком много запросов: доступ ограничен на время

Источники

Сверено 6 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 07.10.2026