#Что означает ошибка
403 Forbidden You don't have permission to access this resource.
В отличие от 401, где сервер просит представиться, 403 говорит: «я знаю, кто вы (или не важно), но доступ запрещён». Решение принимает сервер по правилам — права пользователя, адрес, страна, файл. Поэтому у посетителей и владельцев сайтов разные причины и разные действия.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нужна авторизация или нет прав в аккаунтеСтраница доступна только после входа или определённой роли. | Страница открывается после входа под нужной учётной записью. | Войдите в аккаунт, проверьте адрес и права; обратитесь к администратору сайта. |
| Блокировка по IP, региону или защитой сайтаСайт ограничивает доступ по адресу, стране или считает ваше поведение подозрительным (WAF, лимиты запросов). | С другой сети или без VPN сайт открывается; страница недоступна только из вашей сети. | Отключите VPN, попробуйте другую сеть, свяжитесь с владельцем сайта. |
| Неверные права на файлы и папки (для владельца)Веб-сервер не может прочитать файл или войти в каталог. | В error.log записи вида Permission denied; права на файлы закрыты. | Выставьте права: каталоги — 755, файлы — 644, владелец — пользователь веб-сервера или сайта. |
Нет индексного файла и запрещён листинг каталогаВ каталоге нет index.php/index.html, а показ списка файлов отключён. | Открывается адрес папки, а не конкретного файла. | Создайте индексный файл или проверьте корректность правил try_files/DirectoryIndex. |
Запрещающие правила в конфигурации сервераПравила deny в Nginx, Require all denied в Apache, .htaccess. | Ошибка появилась после правки конфигурации; затронуты определённые адреса. | Проверьте правила, снимите лишние ограничения, проверьте конфигурацию перед перезагрузкой. |
#Что делать посетителю
- Проверьте адрес и обновите страницуОбновите страницу клавишами
Ctrl+F5и проверьте адрес. Если в строке адреса указан только каталог, сайт может запрещать просмотр его содержимого без главной страницы. Перейдите по ссылке из меню сайта; не пытайтесь угадывать закрытые служебные адреса. - Войдите в аккаунтЕсли ресурс предназначен для зарегистрированных пользователей, войдите через обычную страницу входа и повторите попытку. Проверьте, не истёк ли сеанс. Если после авторизации 403 остаётся, убедитесь, что вашей учётной записи выдан доступ к разделу.
- Очистите cookie и отключите VPNДля одного проблемного сайта откройте его в приватном окне. Если там работает, попробуйте удалить только данные этого сайта через значок настроек слева от адреса → «Настройки сайтов» → «Удалить данные». Это может выйти из аккаунта; проверьте также VPN и расширения.
- Проверьте с другой сетиСравните доступ через домашний Wi-Fi и мобильный интернет. Если ошибка есть только в одной сети, это может быть ограничение по IP или защитное правило сайта. Не обходите запреты доступа; отправьте владельцу адрес страницы, время ошибки и свою сеть без публикации паролей.
#Что делать владельцу сайта
- Посмотрите журнал ошибок веб-сервераАдминистратору. Откройте журнал ошибок веб-сервера на момент запроса и найдите запись с нужным URL. В Nginx обычно полезен
/var/log/nginx/error.log, но путь может отличаться. Сообщенияpermission denied,access forbiddenи WAF указывают на разные причины. - Проверьте права вдоль всего путиАдминистратору. Проверьте права файла и каждого родительского каталога: процесс веб-сервера должен иметь возможность читать разрешённые страницы и проходить к ним по пути. Не выставляйте всем файлам
777; сначала выясните системного пользователя веб-сервера и назначьте минимально необходимые права. - Проверьте индексный файл и конфигурациюАдминистратору. Убедитесь, что для адреса есть подходящий
index.phpилиindex.html, если запрашивается каталог. Проверьте директивыdeny,allow,auth_basicи настройки.htaccess. После любой правки конфигурации проверьте её синтаксис и повторите запрос. - Проверьте защиту и ограниченияАдминистратору. Откройте журнал и панель защиты сайта: посмотрите, не блокирует ли запрос WAF, правило ограничения IP или расширение CMS. Если найдено ложное срабатывание, ослабьте только конкретное правило для нужного маршрута, а не отключайте защиту всего сайта.
- Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
#Как проверить результат
- Страница открывается, код ответа —
200:curl -I https://ваш-сайт/страница/. - В журнале ошибок нет новых записей о запрете доступа.
#Если не помогло
Проверьте защитные модули: ModSecurity, плагины безопасности WordPress, правила хостинга. Отключайте их по одному лишь для диагностики и верните обратно. Если вы пользуетесь CDN или сервисом защиты, убедитесь, что он не блокирует ваш запрос.