Застряли на ошибке 403 Forbidden в Nginx? Вот как быстро ее исправить!

Застряли на ошибке 403 Forbidden в Nginx? Вот как быстро ее исправить!

Вы только что обновили сайт, а вместо долгожданной страницы видите холодное сообщение "403 Forbidden"? Знакомая и очень неприятная ситуация. Ваш сервер на Ubuntu с Nginx наотрез отказывается показывать контент, и вы не знаете, с какой стороны подступиться.

Не спешите паниковать! В 90% случаев эта ошибка вызвана парой простых, но критичных недосмотров в настройках. Мы уже разобрали десятки таких случаев и готовы поделиться с вами работающими решениями.

В этом материале мы не будем грузить вас сложной теорией. Только практика. Вы узнаете о двух самых частых причинах появления ошибки 403, которые сводят с ума веб-мастеров и администраторов. Мы покажем, как проверить права доступа к файлам одной простой командой в терминале и что именно искать в ее выводе.

Вы поймете, почему даже при правильных правах Nginx может блокировать доступ, и как одна строчка в конфигурационном файле способна решить все проблемы. Мы разберем тонкости настройки index-файлов для разных технологий — будь то PHP, Python или статичный HTML.

Готовы за 10 минут разобраться с тем, что мучило вас несколько часов? Переходите к статье — и ваш сайт снова будет работать как часы!


Ошибка 403 forbidden nginx означает что вы запросили ресурс у сервера, который он не может отправить, потому что у вас недостаточно прав для его просмотра. Фактически, это даже не ошибка, это сообщение HTTP 4xx, которое всего лишь сообщает, что у вас нет доступа к определенному контенту.

Достаточно часто такие сообщения показывается пользователям, потому что они были заблокированы на сайте или попытались получить доступ к файлу, который доступен только локально. В этой статье мы попытаемся разобраться со случаями, когда появление 403 forbidden nginx 1.4 6 Ubuntu не желательно и представляет из себя ошибку, которую веб-мастер или системный администратор должен решить. Но сначала рассмотрим основные причины почему вы можете видеть это сообщение.

Застряли на ошибке 403 Forbidden в Nginx? Вот как быстро ее исправить!


Содержание статьи

Ошибка 403 Forbidden Nginx

Итак, ошибка 403 forbidden nginx 1.4 6 Ubuntu может возникать в таких случаях:

  • Пользователь заблокирован на сервере с помощью директивы deny в конфигурации nginx;
  • Доступ к данному ресурсу разрешен только с определенного IP адреса;
  • Пользователь пытается получить доступ к папке, отображение содержимого которой запрещено;
  • Nginx не может прочитать содержимое запрашиваемого файла в файловой системе;
  • Файл index не найден в каталоге.

Это основные причины, которые встречаются наиболее часто. Как видите, две последние из них представляют из себя проблему. Рассмотрим как ее решить.

Неверно выставлены права

Если права на файл, который пытается получить пользователь выставлены неправильно, то будет выдана такая ошибка. Необходимо, чтобы у Nginx были права не только на чтение этого файла, но и на чтение все родительских каталогов. Это можно проверить командой:

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

Застряли на ошибке 403 Forbidden в Nginx? Вот как быстро ее исправить!

Для всех элементов пути должен быть установлен флаг "r", чаще всего лучше подходят права 644, то есть, владелец может все, а группа и остальные только читать. Если права не соответствуют, то вы нашли проблему и осталось только исправить права с помощью chmod. Например:

chmod 644 /var/www/public_html/index.html

Вот так должно быть:

Застряли на ошибке 403 Forbidden в Nginx? Вот как быстро ее исправить!

Также обратите внимание на владельца файлов и папок. Если nginx должен иметь возможность выполнять туда запись, то, возможно есть смысл сделать владельцем пользователя nginx или позже получите другую ошибку. Также, если с правами все хорошо, но ошибка не решена попробуйте отключить SELinux, возможно, эта служба мешает Nginx получить доступ к файлам.

Если вы используете PHP и получаете такую ошибку, то еще нужно проверить может ли Nginx получить доступ к сокету обработчика PHP. Желательно, чтобы php-fpm запускался с той же группой, что и nginx, потому что права, по умолчанию, для доступа к сокету 660 (для группы и для владельца). Поэтому проверьте поля listen.owner и listen.group в файле  /etc/php5/fpm/php-fpm.conf.

Застряли на ошибке 403 Forbidden в Nginx? Вот как быстро ее исправить!Застряли на ошибке 403 Forbidden в Nginx? Вот как быстро ее исправить!

Также можно попытаться использовать сетевой сокет и подключаться к порту, а не файлу.

Неверно настроен index

Файл index открывается по умолчанию при запросе папки на сервере, в которой он находится. Если такого файла в папке нет или он настроен неправильно в конфигурационном файле nginx, то программа попытается отобразить содержимое папки, а это по умолчанию запрещено, поэтому вы получите 403 Foribden.

Чтобы решить проблему убедитесь, что файл index.html, index.php или как он у вас называется, находится в нужно папке, в той, которую вы запрашиваете. Проверьте конфигурационный файл и убедитесь, что в нем указана директива Index с правильным именем и расширением файла:

Застряли на ошибке 403 Forbidden в Nginx? Вот как быстро ее исправить!

Если в директиве указаны только файлы html, а вы используете php, то уже понятно почему программа не может найти то, что нужно. Просто добавьте имя файла в директиву:

index index.html index.htm index.php;

Точно так же, если вы использовали python скрипт, то нужно добавить его расширение.

Выводы

В этой статье мы рассмотрели почему возникает ошибка 403 forbidden nginx 1.4 6 Ubuntu и пути ее решения. Это наиболее частые причины, с которыми сталкиваются пользователи и попробовав все это, скорее всего, вы решите свою проблему. Если у вас остались вопросы, спрашивайте в комментариях!

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив