Решено: у вас нет разрешения на доступ к этому серверу

Многие конфигурации веб-серверов сталкиваются с проблемами, связанными с правами доступа к файлам. Это часто делает сервер недоступным для посетителей и проявляется в виде ошибки 403. Обычно сообщение об ошибке выглядит примерно так: «Запрещено: у вас нет разрешения на доступ / на этом сервере». Эта ошибка также может ограничить доступ к другим маршрутам на сервере, например к каталогу / .

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

Что вызывает эту ошибку Apache 403?

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

Более того, начиная с версии Apache 2.4, произошли некоторые изменения в работе директив. Это также может ограничить публичный доступ к вашему сайту и привести к ошибке 403 запрещено.

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

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

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

Установка правильных разрешений для общедоступных файлов может быть немного сложной. Вот почему администраторы должны начинать с абсолютно нулевых разрешений и добавлять их по мере необходимости. Рекомендуется иметь папки с разрешением 755 и файлы с 644 .

Для простого веб-сайта каталоги должны иметь разрешение на выполнение , а файлы должны иметь разрешение на чтение . Убедитесь, что у файлов нет разрешения на выполнение. Злоумышленники могут получить нежелательный доступ к общедоступным серверам через такие файлы. Режим доступа для чтения , записи и выполнения – 4, 2 и 1 соответственно.

Таким образом, режим разрешения 755 для каталогов означает, что только владелец имеет полный доступ к содержимому каталога. Пользователи группы и другие пользователи могут только читать и выполнять. Аналогичным образом, режим разрешений 644 для файлов предоставляет владельцу доступ на чтение и запись, а всем остальным – только на чтение.

Чтобы решить эту ошибку, исправьте права доступа к корневому каталогу. В приведенной ниже команде используется служебная программа chmod для установки разрешений для каталога на 755.

 sudo find /var/www/html -type d -exec chmod 755 {} ;

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

 sudo find /var/www/html -type f -exec chmod 644 {} ;

Вышеупомянутая команда использует утилиту find для поиска отдельных файлов и устанавливает правильное разрешение через chmod. Окончание {} содержит пути к файлам, возвращаемые командой find , а точка с запятой ( ; ) отмечает конец итерации. Наконец, перезапустите сервер Apache, чтобы изменения вступили в силу.

 sudo systemctl restart apache2.service

Эта команда перезапускает сервер Apache в Ubuntu. Однако многие дистрибутивы на основе RPM, такие как RHEL или CentOS, устанавливают Apache как httpd . Для таких систем используйте вместо этого следующую команду:

 sudo systemctl restart httpd

2. Исправьте файл .htaccess на своем веб-сайте WordPress.

Файл .htaccess служит распределенным файлом конфигурации и сообщает Apache, как обрабатывать такие вещи, как изменения конфигурации для каждого каталога. Иногда этот файл может быть поврежден, что может привести к ошибке «У вас нет разрешения на доступ к этому серверу».

К счастью, если это является причиной ошибки 403 на вашем сервере, вы можете легко исправить это, создав новый файл .htaccess. Чтобы создать новый файл .htaccess для вашего веб-сайта, сначала войдите в свою панель управления WordPress. Затем нажмите « Настройки»> «Постоянные ссылки» .

Здесь не нужно вносить никаких дополнительных изменений. Просто нажмите кнопку « Сохранить изменения» , и WordPress сгенерирует для вас новый файл .htaccess.

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

3. Настройте директивы в файле конфигурации Apache.

Apache 2.4 использует новый модуль конфигурации с именем mod_authz_host . Этот модуль предоставляет несколько новых директив. Короче говоря, это реализует следующие правила:

  • Требовать все разрешено : разрешить все запросы
  • Требовать все отклонено : отклонить все запросы
  • Требовать хоста safe.com : разрешать запросы только от safe.com

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

 vim /etc/apache2/apache2.conf
 <Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Более того, если вы используете веб-сервер на основе RHEL, вам необходимо упростить доступ к разделу / var / www в вашем файле конфигурации Apache. Поэтому убедитесь, что файл /etc/httpd/conf/httpd.conf содержит следующий блок кода.

 vim /etc/httpd/conf/httpd.conf
 <Directory "/var/www">
AllowOverride None
Require all granted
</Directory>

Наконец, перезапустите сервер Apache, используя одну из следующих команд.

 # for Ubuntu and Debian
sudo systemctl restart apache2.service
 # for RHEL and CentOS
sudo systemctl restart httpd

Исправьте ошибку разрешения сервера Apache

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

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