403 forbidden nginx как исправить
Перейти к содержимому

403 forbidden nginx как исправить

  • автор:

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

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

Об ошибке

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

Поиск файла конфигурации NGINX

По умолчанию файлы конфигурации 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 /

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

location /myfiles

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

sudo nginx -s reload

Что значит ошибка 403 Forbidden

Код ошибки 403 — Forbidden в переводе с английского «запрещенный».

Ошибка сообщает о том, что доступ к данной странице запрещен или не может быть предоставлен сервером. Пользователь, желающий посмотреть запрещенную страницу никак не сможет ее увидеть.

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

Страница ошибки 403

Причины возникновения 403 ошибки:

  • указано неверное имя индексного файла, на нашем хостинге по умолчанию указаны следующие имена для индексного файла:
    index.html
    index.php
    index.htm
  • отсутствие индексного файла
  • указаны неверные права на папку, на скрипт (файл)
    обычно для папок устанавливают права 755, для файлов 644
  • файлы сайта на нашем хостинге обычно располагаются в папке с именем домена.

Как исправить ошибку 403:

  • Необходимо проверить наличие ошибок в URL. На некоторых сайтах установлены запреты просмотров каталогов. Поэтому может показываться ошибка 403 Forbidden. Если Вы являетесь администратором сайта, включите просмотр каталогов в ПО Вашего сервера.
  • Очистите Ваш браузер от кэша и удалите cookie. Кэш и файлы куки, выдавая старую версию страницы, могут вызвать ошибку 403. Убедитесь, что данные функции включены в Вашем браузере.
  • Если это возможно авторизуйтесь на сайте. Обычно если требуется дополнительный доступ, прежде чем просмотреть страницу, сайт выдает ошибку 401 Unauthorized, но иногда вместо этой ошибки используется ошибка 403.
  • Сообщите об ошибке руководству сайта. Возможно ошибка системная и ее видят все пользователи, а сайт еще не знает о проблеме.
  • Обратитесь в техподдержку Вашего интернет-провайдера. Если сайт не работает только с Вашего устройства, возможно эта проблема связана с интернет-провайдером (например, поставщик услуг Интернета попал в черный список данного сайта).
  • Если необходимая Вам страница правильная, а ошибка 403 появляется не только у Вас, но и у других пользователей, посетите страницу чуть позже, когда проблема будет устранена.

У нас Вы найдете надежный хостинг для сайта.

МИР Visa MasterCard СБП QIWI Wallet Безналичный платеж

Все способы

© 2009–2023 «HANDYHOST.RU» 8-800-505-68-01

  • Услуги
  • Хостинг сайтов
  • Домены
  • Конструктор сайтов
  • Linux VPS / Windows VPS
  • Выделенные серверы
  • SSL сертификаты
  • Клиентам
  • Контакты
  • О компании
  • Акции
  • Оборудование
  • Партнерская программа
  • Поддержка
  • Способы оплаты
  • Регламент
  • Документы
  • Справка

Как исправить ошибку 403 Forbidden

Разбираемся, в каких ситуациях возникает ошибка 403 Forbidden и что делать, чтобы её исправить, когда вы владелец сайта и когда посетитель.

Что внутри

  1. Что такое ошибка 403 Forbidden
  2. Как может выглядеть ошибка 403 Forbidden
  3. Почему возникает ошибка 403 Forbidden
  4. Как убрать ошибку 403 Forbidden

Что такое ошибка 403 Forbidden

Ошибка 403 Forbidden — это код состояния HTTP, один из стандартных ответов сервера на запрос браузера. Примеры других кодов: 404 Not Found, 500 Internal Server Error или 504 Gateway Timeout.

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

Конкретно код HTTP — 403 Forbidden — означает, что у посетителя недостаточно прав для просмотра контента.

HTTP 403 Forbidden: что это — пример

Как может выглядеть ошибка 403 Forbidden

Дизайн и текст стандартной страницы с ошибкой будет отличаться в зависимости от веб-сервера или фреймворка, на котором работает сайт. Также стандартную страницу с ошибкой можно оформить в общем дизайне сайта и написать на ней любой текст, не обязательно «403», «Forbidden», «403 Forbidden» или «Ошибка 403».

Вот текстовые варианты этой ошибки, которые вы можете встретить на разных сайтах:

  • Forbidden
  • 403. That’s an error.
  • Error: Access Denied
  • 403 Forbidden – nginx
  • 403 Sorry! Access denied
  • Access forbidden! Error 403
  • HTTP Error 403 – Forbidden
  • Ошибка 403. Доступ запрещен.
  • 403 – Forbidden: Access is denied
  • HTTP Status 403 – Access is denied
  • Forbidden – You don’t have permission to access this resource
  • Forbidden – You don’t have permission to access / on this server
  • 403 Forbidden – Access to this resource on the server is denied!
  • Sorry, you have been blocked — You are unable to access domen.com
  • Access to www.domen.com was denied – You don’t have authorization to view this page – HTTP ERROR 403

Почему возникает ошибка 403 Forbidden

Как мы уже выяснили, 403 ошибка означает, что доступ к контенту запрещён. Это часто случается по таким причинам:

  • установлены неправильные права доступа к папкам и файлам;
  • установлен неправильный пользователь/группа для файлов и папок;
  • доступ запрещён в конфигурационном файле веб-сервера;
  • файлы сайта загружены не в корневую папку на хостинге;
  • неверно указано имя индексного файла в настройках;
  • ошибку вызывает плагин или расширение.

Как исправить ошибку 403 Forbidden

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

Часто бывает наоборот — доступ закрывают для всех IP-адресов и разрешают только с определённых, например, с офисного VPN или домашнего выделенного IP. Это простой и рабочий способ защитить панель управления сайтом от взлома.

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

1. Проверьте права доступа к папкам и файлам

У каждой папки и файла на хостинге есть права — параметр, который определяет, кто и что может с ними делать. Их всего три:

  • Чтение — можно просматривать содержимое файла или папки;
  • Редактирование — можно вносить изменения в файл, создавать или удалять файлы в папке;
  • Выполнение — можно запускать скрипты или выполнять команды в тех или иных папках.

Обладать правами могут три категории пользователей:

  • Владелец — обычно пользователь, который создал файл, но вообще, владельцем можно назначить и другого пользователя;
  • Группа — пользователи, которые входят в список доверенных для владельца файла или папки и могут обладать особыми правами;
  • Мир — все остальные пользователи, например, посетители сайта.

Права обозначаются в виде трёхзначного числа, каждая цифра в котором означает права определённой категории пользователей. Вот стандартные права, с которыми всё должно работать:

  • Папки — 755 или 750;
  • Файлы — 644 или 640.

Исключение — файл wp-config.php на сайтах на WordPress. Его права должны быть либо 440, либо 400.

Чтобы подробнее изучить, как работают права, читайте нашу статью:

2. Проверьте владельца папок

Ещё одна популярная причина возникновения 403 ошибки — неправильный владелец файлов или папок. Права на хостинге могут быть правильными, но файлом или папкой может владеть другой пользователь, в группу доверенных пользователей которого не входит веб-сервер. Из-за этого на веб-сервер будут распространяться права остальных пользователей, а их может быть недостаточно.

С такой проблемой могут столкнуться пользователи VPS, на виртуальном хостинге она не возникает. Решением будет — назначить владельцем файлов и папок веб-сервер. Для этого нужно подключиться к серверу по SSH в командной строке и использовать такую команду:

chown пользователь:группа /путь/к/файлу

В качестве пользователя и группы нужно указать имя пользователя, под которым веб-сервер выполняет процессы. Это может быть apache или httpd. Зависит от дистрибутива.

3. Проверьте файл .htaccess

.htaccess — это файл с командами для веб-сервера Apache, которые он должен выполнять каждый раз при обработке запроса ко всем или каким-то отдельным страницам сайта.

С его помощью можно настроить редирект, изменить лимиты веб-сервера и даже запретить доступ к определённым страницам сайта на основе разных параметров.

403 ошибка может возникнуть из-за ошибки при составлении команды, конфликта нескольких команд и даже нескольких файлов .htaccess. Также причиной ошибки могут быть специальные запрещающие команды со словами «Deny from …», «Require IP …», «R=403» или «RedirectMatch 403».

Если вы недавно меняли что-то в .htaccess, скорее всего, быстро найдёте команду, которая вызывает ошибку. А если нет, команда могла появиться там после установки плагина. Или она была в нём раньше, но вы впервые выполнили запрос, для которого команда сработала.

Простой способ узнать, дело в .htaccess или нет, — переименовать этот файл, из-за чего команды в нём перестанут действовать. Если 403 ошибка после этого исчезнет, проблема в какой-то из директив. Дальше придётся вручную выяснять, с какой.

4. Проверьте индексный файл в корневой папке сайта

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

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

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

На веб-сервере Apache конфигурационные файлы, в которых обычно прописывают виртуальные хосты, хранятся в таких местах:

  1. Основной конфигурационный файл httpd.conf в каталоге /etc/httpd/conf/ либо apache.conf в каталоге /etc/apache2/conf/ (в зависимости от дистрибутива).
  2. Дополнительные конфигурационные файлы в каталогах /etc/httpd/conf.d/, /etc/apache2/conf.d/, /etc/apache2/sites-available/ или /etc/apache2/sites-enabled/.

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

  1. Основной конфигурационный файл nginx.conf в каталоге /etc/nginx/.
  2. Дополнительные конфигурационные файлы в каталогах /etc/nginx/conf.d/, /etc/nginx/sites-available/ или /etc/nginx/sites-enabled/.

Конфигурационные файлы могут храниться и в других папках, если вы управляете сервером при помощи какой-то панели управления. Например, для Webuzo это /usr/local/apps/apache, а для Plesk — /home/user/conf/.

5. Проверьте настройки ModSecurity

ModSecurity — это файрвол, который защищает ваш сайт от внешних угроз. Принцип его работы заключается в том, что он блокирует запросы с кодом HTTP 403 Forbidden, если считает их вредоносными.

Бывает, файрвол срабатывает, когда не должен. Например, посетитель делает на сайте что-то безобидное, — например, заполняет форму, — нажимает «Отправить», но ModSecurity распознаёт это как SQL-инъекцию, блокирует действие и показывает 403 ошибку.

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

Узнать, что дело именно в файрволе можно по логам. На VPS или выделенном сервере их можно найти по умолчанию по таким путям:

  • Для Apache — /usr/local/apache/logs/modsec_audit.log;
  • Для Nginx — /var/log/modsec_audit.log.

На виртуальном хостинге эти логи будут недоступны. В этом случае свяжитесь с провайдером хостинга, объясните им ситуацию и попросите проверить логи.

6. Отключите плагины

Если предыдущие советы не помогли и у вас сайт на CMS, попробуйте проверить плагины. В разных CMS они могут называться модули, дополнения или расширения. Любой плагин это чей-то код, который вы добавляете себе на сайт. В коде может быть баг, который вызовет ошибку. Или несколько плагинов могут конфликтовать между собой.

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

В cPanel для этого найдите на главной странице панели блок «Файлы» и перейдите в раздел «Менеджер файлов».

Ошибка 403 из-за плагина на сайте с WordPress — отключаем плагины в менеджере файлов.

Дальше найдите корневую папку сайта, перейдите в папку wp-content и переименуйте папку plugins, например, в plugins-old. Это отключит все плагины.

Обычно для основного домена корневая папка называется public_html, а для дополнительного — так же, как и сам домен.

Ошибка 403 на сайте с WordPress — переименовываем папку с плагинами в менеджере файлов cPanel.

Если после этого 403 ошибка исчезла, переименуйте папку plugins обратно, зайдите в неё и по очереди переименовывайте папку с каждым плагином, пока не найдёте тот, который вызывает ошибку.

7. Почистите cookies

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

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

Как очистить куки в популярных браузерах:

8. Почистите кэш

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

Как очистить кэш в популярных браузерах:

Что дальше

Если ни одно из решений в статье не помогло, опишите вашу ситуацию в комментариях — постараемся помочь. А если вы разместили свой сайт у нас на хостинге, напишите тикет в службу поддержки, чтобы наши специалисты взглянули в настройки и подсказали, в чём дело.

Как исправить 403 Forbidden в NGINX 2 мин для чтения

Как исправить 403 Forbidden в NGINX

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

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

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

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

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

Прежде чем мы начнем, стоит отметить, что ошибка может исходить от клиента, а не от самого сервера. Сначала мы рассмотрим ошибки на стороне сервера, а затем ошибки на стороне клиента.

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

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

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

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

location /

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

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

location /

[gn_box title=»Примечание» box_color=»#fff08c» title_color=»#000000″]Мы не рекомендуем этот метод на общедоступных серверах.[/gn_box]

Читать Как проверить информацию о зарегистрированном пользователе с помощью команды Who

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

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

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

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

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

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

sudo chmod 755 sudo chmod 644

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

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

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

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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