Что значит 403 forbidden nginx: Решение проблем, связанных с ошибкой NGINX «403 Forbidden»

Решение проблем, связанных с ошибкой NGINX «403 Forbidden»

«403 Forbidden» — наиболее распространенная ошибка при работе с NGINX. В этой статье мы расскажем о причинах возникновения 403 forbidden NGINX, а также о том, как найти ее причину и исправить основную проблему.

  • Об ошибке
  • Поиск файла конфигурации NGINX
  • Некорректный индексный файл
  • Автоиндекс
  • Права доступа к файлам
  • Идентификация пользователя NGINX
  • Установите права собственности на файл
  • Установите права доступа

«403 Forbidden» — это универсальная ошибка NGINX, которая указывает на то, что вы запросили что-то, а NGINX (по ряду причин) не может это предоставить. «403» является кодом состояния HTTP, который означает, что веб-сервер получил и понял ваш запрос, но не может предпринять никаких дальнейших действий.

По умолчанию файлы конфигурации NGINX находятся в папке /etc/nginx. Если вы просмотрите этот каталог, то найдете несколько конфигурационных файлов для различных модулей сервера.

Главный файл конфигурации — /etc/nginx/nginx.conf. Он содержит основные директивы для NGINX и является аналогом файла httpd.conf для Apache.

Чтобы отредактировать этот файл, используйте команду:

CentOS 7: sudo nano /etc/nginx/conf.d/test.example.com.conf
Ubuntu 16.04: sudo nano /etc/nginx/sites-available/test.example.com.conf

Одна из наиболее распространенных причин ошибки 403 forbidden NGINX — некорректная настройка индексного файла.
nginx.conf указывает, какие индексные файлы должны загружаться, и в каком порядке. Например, приведенная ниже строка указывает NGINX искать index.html, затем index.htm, затем index.php:

index index.html index.htm index.php;

Если ни один из этих трех файлов не будет найден в каталоге, NGINX вернет ошибку «403 Forbidden».

Примечание. Имена файлов чувствительны к регистру. Если nginx.conf указывает index.html, а файл называется Index.html, это приведет к ошибке «403 Forbidden».

Если вы хотите использовать имя индексного файла, которое ваш веб-сервер NGINX не распознает, отредактируйте nginx.conf и добавьте имя файла в строку конфигурации индекса.

Например, чтобы добавить index.py в список распознаваемых индексных файлов, отредактируйте эту строку следующим образом:

index index.html index.htm index.php index.py;

Сохраните изменения, а затем перезапустите NGINX командой:

sudo nginx -s reload

Альтернативным решением является разрешение индекса директории. Индекс директории означает, что если индексный файл не найден, сервер отобразит все содержимое директории.

По соображениям безопасности индекс директории в NGINX по умолчанию отключен.

При «403 forbidden NGINX», если вы хотите показать индекс директории в ситуациях, когда NGINX не может найти (идентифицировать) файл, отредактируйте nginx. conf, как описано выше, и добавьте в него две следующие директивы:

Autoindex on;
Autoindex_exact_size off;

Эти директивы должны быть добавлены в блок location. Можно либо добавить их в существующий блок location/, либо добавить новый. Окончательный результат должен выглядеть так:

location / {
  [pre-existing configurations, if applicable]
  autoindex on;
  autoindex_exact_size off;
  }

Также можно активировать индексирование директории в определенной папке, если не хотите, чтобы она была доступна для всего сайта:

location /myfiles {
  autoindex on;
  autoindex_exact_size off;
  }

Сохраните изменения в файле, затем перезапустите NGINX командой:

sudo nginx -s reload

Некорректные права доступа к файлам являются еще одной причиной ошибки «403 Forbidden NGINX». Для использования с NGINX рекомендуется стандартная настройка: для каталогов — 755 и для файлов — 644. Пользователь NGINX также должен быть владельцем файлов.

Для начала нужно определить, от имени какого пользователя запущен NGINX. Для этого используйте команду:

ps -ef | grep nginx

В этом примере рабочий процесс NGINX работает от имени пользователя nginx.

Перейдите на уровень выше корневой директории документа сайта. Например, если корневая директория вашего сайта /usr/share/nginx/example.com, перейдите в /usr/share/nginx с помощью команды:

cd /usr/share/nginx

Измените права собственности на все файлы в директориях нижних уровней на пользователя nginx с помощью команды:

sudo chown -R nginx:nginx *

403 forbidden NGINX — как исправить: установите права доступа для каждой директории на 755 с помощью команды:

sudo chmod 755 [имя директории]

Например, чтобы установить права доступа для директории example.com, используется команда:

sudo chmod 755 example.com

Затем перейдите в корневой каталог веб-документа:

sudo chmod 755 example.com

Измените права доступа для всех файлов в этой директории с помощью команды:

sudo chmod 644 *

Вадим Дворниковавтор-переводчик статьи «Solve an NGINX 403 Forbidden Error»

Решение проблем, связанных с ошибкой NGINX «403 Forbidden»

«403 Forbidden» — наиболее распространенная ошибка при работе с NGINX.

В этой статье мы расскажем о причинах возникновения 403 forbidden NGINX, а также о том, как найти ее причину и исправить основную проблему.

  • Об ошибке
  • Поиск файла конфигурации NGINX
  • Некорректный индексный файл
  • Автоиндекс
  • Права доступа к файлам
  • Идентификация пользователя NGINX
  • Установите права собственности на файл
  • Установите права доступа

«403 Forbidden» — это универсальная ошибка NGINX, которая указывает на то, что вы запросили что-то, а NGINX (по ряду причин) не может это предоставить. «403» является кодом состояния HTTP, который означает, что веб-сервер получил и понял ваш запрос, но не может предпринять никаких дальнейших действий.

По умолчанию файлы конфигурации NGINX находятся в папке /etc/nginx. Если вы просмотрите этот каталог, то найдете несколько конфигурационных файлов для различных модулей сервера.

Главный файл конфигурации — /etc/nginx/nginx.conf. Он содержит основные директивы для NGINX и является аналогом файла httpd.

conf для Apache.

Чтобы отредактировать этот файл, используйте команду:

CentOS 7: sudo nano /etc/nginx/conf.d/test.example.com.conf
Ubuntu 16.04: sudo nano /etc/nginx/sites-available/test.example.com.conf

Одна из наиболее распространенных причин ошибки 403 forbidden NGINX — некорректная настройка индексного файла.
nginx.conf указывает, какие индексные файлы должны загружаться, и в каком порядке. Например, приведенная ниже строка указывает NGINX искать index.html, затем index.htm, затем index.php:

index index.html index.htm index.php;

Если ни один из этих трех файлов не будет найден в каталоге, NGINX вернет ошибку «403 Forbidden».

Примечание. Имена файлов чувствительны к регистру. Если nginx.conf указывает index.html, а файл называется Index.html, это приведет к ошибке «403 Forbidden».

Если вы хотите использовать имя индексного файла, которое ваш веб-сервер NGINX не распознает, отредактируйте nginx.conf и добавьте имя файла в строку конфигурации индекса.

Например, чтобы добавить index.py в список распознаваемых индексных файлов, отредактируйте эту строку следующим образом:

index index.html index.htm index.php index.py;

Сохраните изменения, а затем перезапустите NGINX командой:

sudo nginx -s reload

Альтернативным решением является разрешение индекса директории. Индекс директории означает, что если индексный файл не найден, сервер отобразит все содержимое директории.

По соображениям безопасности индекс директории в NGINX по умолчанию отключен.

При «403 forbidden NGINX», если вы хотите показать индекс директории в ситуациях, когда NGINX не может найти (идентифицировать) файл, отредактируйте nginx.conf, как описано выше, и добавьте в него две следующие директивы:

Autoindex on;
Autoindex_exact_size off;

Эти директивы должны быть добавлены в блок location. Можно либо добавить их в существующий блок location/, либо добавить новый. Окончательный результат должен выглядеть так:

location / {
  [pre-existing configurations, if applicable]
  autoindex on;
  autoindex_exact_size off;
  }

Также можно активировать индексирование директории в определенной папке, если не хотите, чтобы она была доступна для всего сайта:

location /myfiles {
  autoindex on;
  autoindex_exact_size off;
  }

Сохраните изменения в файле, затем перезапустите NGINX командой:

sudo nginx -s reload

Некорректные права доступа к файлам являются еще одной причиной ошибки «403 Forbidden NGINX». Для использования с NGINX рекомендуется стандартная настройка: для каталогов — 755 и для файлов — 644. Пользователь NGINX также должен быть владельцем файлов.

Для начала нужно определить, от имени какого пользователя запущен NGINX. Для этого используйте команду:

ps -ef | grep nginx

В этом примере рабочий процесс NGINX работает от имени пользователя nginx.

Перейдите на уровень выше корневой директории документа сайта. Например, если корневая директория вашего сайта /usr/share/nginx/example.com, перейдите в /usr/share/nginx с помощью команды:

cd /usr/share/nginx

Измените права собственности на все файлы в директориях нижних уровней на пользователя nginx с помощью команды:

sudo chown -R nginx:nginx *

403 forbidden NGINX — как исправить: установите права доступа для каждой директории на 755 с помощью команды:

sudo chmod 755 [имя директории]

Например, чтобы установить права доступа для директории example.com, используется команда:

sudo chmod 755 example.
com

Затем перейдите в корневой каталог веб-документа:

sudo chmod 755 example.com

Измените права доступа для всех файлов в этой директории с помощью команды:

sudo chmod 644 *

Вадим Дворниковавтор-переводчик статьи «Solve an NGINX 403 Forbidden Error»

Как исправить NGINX 403 Запрещено

Nginx

2 года назад

от John Otieno

При работе с серверами и веб-ресурсами мы сталкиваемся с ошибками, которые мы вызываем при обслуживании и настройке. Когда вы сталкиваетесь с такими ошибками, вам необходимо как можно быстрее диагностировать и устранять проблему, чтобы избежать простоев и потери данных.

В этом кратком руководстве рассматривается распространенная ошибка при работе с серверами NGINX (403 Forbidden), ее причины и способы ее устранения.

Что такое ошибка Nginx 403?

Nginx 403 Запрещенная ошибка — это код состояния, который генерируется и отображается пользователю, когда клиент пытается получить доступ к части веб-сервера с недостаточными разрешениями. Например, NGINX защищает список каталогов и приводит к ошибке 403.

Серверная часть Причины ошибки Nginx 403

сам сервер. Сначала мы рассмотрим ошибки на стороне сервера, а затем ошибки на стороне клиента.

Причина 1: неверный индексный файл

Самая первая и распространенная причина ошибки NGINX 403 Forbidden — неправильная конфигурация индексного файла.

Файл конфигурации Nginx указывает, какие индексные файлы загружать и в каком порядке их загружать. Однако, если указанные индексные файлы отсутствуют в каталоге, Nginx вернет ошибку 403 запрещен.

Например, приведенная ниже конфигурация определяет индексные файлы и способ их загрузки.

location / {
    index index.html index.htm index.html inde.php;
}

Один из способов решить эту проблему — добавить файл индекса, указанный в файле конфигурации, или добавить доступный файл индекса в файл конфигурации.

Другой способ решить эту проблему — разрешить Nginx отображать каталоги, если файл индекса недоступен. Включите этот модуль, добавив следующую запись в файл конфигурации.

расположение / {
автоиндекс включен;
autoindex_exact_size включен;
}

ПРИМЕЧАНИЕ. Мы не рекомендуем использовать этот метод на общедоступных серверах.

Для получения дополнительной информации о том, как обслуживать статический контент, рассмотрите ресурс документации Nginx, указанный ниже:

https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/

Причина 2: Неправильно установленные разрешения

Nginx 403 запрещенная ошибка также может быть вызвана тем, что файлы и каталоги имеют неправильно установленные разрешения. Чтобы Nginx успешно отправлял клиенту определенный файл и ресурс, Nginx должен иметь права RWX — чтение, запись и выполнение — на всем пути.

Чтобы устранить эту ошибку, измените права доступа к каталогам на 755 и права доступа к файлам на 644. Убедитесь, что пользователь, запускающий процесс Nginx, владеет файлами. Например, установите для пользователя www-data:

sudo chown -R www-data:www-data *

Наконец, установите права доступа к каталогу и файлу:

sudo chmod 755 {dir}
sudo chmod 644 {files }

Причина ошибки на стороне клиента 403

Как упоминалось ранее, ошибка 403 может быть вызвана пользователем, а не сервером. Чтобы устранить такие проблемы на стороне клиента, выполните следующие операции.

  • Убедитесь, что вы обращаетесь к правильному веб-сайту
  • Очистить кеш браузера
  • Убедитесь, что брандмауэр или прокси-сервер позволяют вам получить доступ к веб-ресурсу.

Заключение

В этом кратком руководстве рассмотрены причины запрещенной ошибки NGIX 403 и различные способы ее исправления. Прежде чем приступать к каким-либо методам устранения неполадок, рекомендуется просмотреть журналы сервера.

Об авторе

Джон Отиено

Меня зовут Джон, и я такой же гик, как и вы. Я увлечен всеми вещами компьютеров от аппаратного обеспечения, операционных систем до программирования. Моя мечта — поделиться своими знаниями с миром и помочь другим гикам. Следите за моим контентом, подписавшись на список рассылки LinuxHint

Посмотреть все сообщения

[ИСПРАВЛЕНО] 403 Запрещенная ошибка на веб-сервере Nginx

Обновлено: 11 января 2020 г. Категория: nginx

Много раз вы сталкиваетесь с ошибкой 403 Forbidden при использовании веб-сервера Nginx, и в большинстве случаев это не связано с самим Nginx. Ошибка 403 Forbidden означает, что у вас нет разрешения на доступ к этой части Интернета. Эта ошибка может быть вызвана многими причинами, и здесь мы обсудим эти причины одну за другой. Чтобы отладить или исправить ошибки 403 Forbidden Nginx, все, что вам нужно сделать, это проверить правильные журналы ошибок и предпринять соответствующие действия для их устранения.

403 Запрещенные ошибки — это способ Nginx сообщить: «Вы запросили ресурс, но мы не можем его вам предоставить». Ошибка должна быть похожа на изображение ниже.

403 Запрещено технически не ошибка, а код состояния HTTP. Заголовки ответа 403 намеренно возвращаются во многих случаях, например —

  • Пользователь заблокирован от запроса этой страницы/ресурса или сайта в целом.
  • Пользователь пытается получить доступ к каталогу, но автоиндекс отключен.
  • Пользователь пытается получить доступ к файлу, доступ к которому возможен только изнутри.
  • Проблема с интернет-ресурсами на компьютере пользователя.
  • Ввод неверного адреса веб-сайта;
  • Смена ресурсов на сайте;
  • IP-адрес пользователя был заблокирован из-за нарушения политики веб-сайта или забанен по другим причинам.
  • Время ожидания браузера истекло.

Что касается причин со стороны администраторов сайта, то причины, по которым выдается ошибка Nginx 403 Forbidden, разные:

  • Индексная страница повреждена или переименована под другим именем.
  • Страница индекса находится в каталоге, для которого отключен параметр автоматического индексирования.
  • Файлы, которые необходимо загрузить, имеют неправильные права доступа к файлам.
  • Файл имеет неверный формат.
  • Возникает ошибка при попытке обновить кэш DNS путем изменения хоста.
  • Неправильная конфигурация .httacess или в другом файле конфигурации с сервера.

Основной файл конфигурации Nginx — /etc/nginx/nginx.conf
Журнал ошибок Nginx Расположение: /var/log/nginx/error.log

Действия по устранению неполадок

    9 заключается в том, чтобы проверить идентификатор основного процесса Nginx, вы можете запустить следующую команду и исключить вывод, похожий на тот, который указан ниже:

    пс х | grep nginx
    24152 ? С 0:00 nginx: главный процесс /usr/sbin/nginx

    Первый столбец каждой строки — это идентификатор процесса, как мы видим, в данном случае идентификатор основного/главного процесса — 24152 , однако он будет меняться в каждой системе.

  1. Неверный файл индекса
    В файле конфигурации NGINX указано, какие файлы индекса загружать и в каком порядке. Например, эта строка указывает NGINX искать index.html, затем index.htm, а затем index.php:

    индекс index.html index.htm index.php;

    Если ни один из этих трех файлов не найден в каталоге, NGINX возвращает ошибку «403 Forbidden». Точно так же для установки Python index.py должен быть определен как индекс каталога.
    Сохраните и выйдите из файла после добавления index.py в каталог index., затем перезапустите NGINX с помощью команды:

    sudo nginx -s перезагрузить

  2. Разрешения установлены неправильно
    Чтобы обслуживать файл, Nginx должен иметь права на чтение для файла, а также разрешения на выполнение для каждого иерархического родительского каталога файла для перехода к нему.
    Например, для доступа к файлу, расположенному по адресу — /usr/share/basezap/logo.jpg
    Nginx должен иметь права на чтение файла, а также права на выполнение для /, /usr, /usr/share и / usr/доля/basezap.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *