Apache: Запретить доступ к URL, файлам и каталогам

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

Запрет доступа к URL, файлам и каталогам в Apache

Здесь описаны шаги по ограничению доступа к URL, файлам и каталогам в Apache.

Откройте файл конфигурации Apache

Файл конфигурации Apache находится в одном из следующих мест, в зависимости от дистрибутива Linux.

  • /etc/apache2/httpd.conf
  • /etc/apache2/apache2.conf
  • /etc/httpd/httpd.conf
  • /etc/httpd/conf/httpd.conf

Откройте терминал и выполните следующую команду, чтобы открыть страницу конфигурации Apache.

Если вы внесете изменения в файл конфигурации сервера Apache, они будут применимы ко всем сайтам/доменам, которые вы запускаете на своем веб-сервере Apache.

Ограничение доступа по IP в виртуальном хосте Apache

Если вы запускаете несколько сайтов на сервере Apache, используя виртуальный хост, то откройте файл конфигурации виртуального хоста того сайта (например, www.website.com), для которого вы хотите запретить доступ по IP. Допустим, ваш файл конфигурации виртуального хоста находится по адресу /etc/apache2/sites-enabled/website.conf

Ограничение доступа по IP

Допустим, вы хотите ограничить доступ к URL /product.html по IP 12.34.21.10. Открыв соответствующий конфигурационный файл, найдите тег <Location> для указанного выше URL.

Apache предоставляет директиву Deny для блокировки одного или нескольких IP-адресов. Добавьте следующую строку в тег Location

Если вы хотите заблокировать доступ IP-адреса к определенной директории, например /admin, то добавьте указанную выше директиву Deny в блок расположения вложенной папки /admin.

Если вы хотите заблокировать доступ IP-адреса к определенному файлу, например /var/www/html/input.html, то добавьте приведенную выше директиву Deny в блок Directory файла input.html.

Обратите внимание, что блок Location используется для ограничения доступа к URL-адресам (например, /index.html, /product ), а блок Directory - для ограничения доступа к файлам (например, /var/www/html/config.php). Эти блоки Location и Directory могут быть размещены в конфигурационном файле сервера Apache или в блоке виртуального хоста.

Ограничение доступа по нескольким IP в Apache

Если вы хотите ограничить доступ по нескольким IP, добавьте отдельные директивы Deny для каждого IP.

В следующем примере мы ограничиваем доступ к IP-адресам 12.34.21.10 и 32.34.23.12

Если вы хотите ограничить доступ по диапазону IP-адресов, например 12.54.20.0-12.54.20.255, вы можете сделать это, используя CIDR-нотацию этого диапазона IP-адресов. Вот конфигурация для ограничения доступа из вышеуказанного диапазона IP.

Перезапустите веб-сервер Apache

Перезапустите веб-сервер Apache, чтобы применить изменения.

Теперь, когда пользователь попытается получить доступ к вашему URL, файлу или каталогу с заблокированного IP-адреса, он получит ответ "403: Access Forbidden".

Понравилась статья? Поделиться с друзьями:
Добавить комментарий