Решено: у вас нет разрешения на доступ к этому серверу
Многие конфигурации веб-серверов сталкиваются с проблемами, связанными с правами доступа к файлам. Это часто делает сервер недоступным для посетителей и проявляется в виде ошибки 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, чтобы ваш сервер работал в таких ситуациях.