У меня есть несколько именованных виртуальных хостов на одном сервере Apache для виртуального хоста мне нужно обеспечить только определенный набор IP-адресов, которым разрешен доступ.
Пожалуйста, предложите лучший способ, чтобы сделать это. Я посмотрел на модуль mod_authz_hosts, но это не выглядит как я могу сделать это внутри виртуального хоста.
В mod_authz_host
директивы должны находиться внутри в <адрес> В
или в <каталог>
блок, но я've использовали бывший в <хост>
так как для Apache 2.2:
<VirtualHost *:8080>
<Location />
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
...
</VirtualHost>
Ссылка: https://askubuntu.com/questions/262981/how-to-install-mod-authz-host-in-apache
Для Apache 2.4, можно использовать требует директива ИС. Так, чтобы разрешить только машины из 192.168.0.0/24 Сети (диапазон 192.168.0.0 - 192.168.0.255)
<VirtualHost *:80>
<Location />
Require ip 192.168.0.0/24
</Location>
...
</VirtualHost>
И если вы просто хотите localhost в машины, чтобы иметь доступ, то есть's в специальным требуют местные Директивы.
местный провайдер разрешает доступ к серверу, если любое из следующих условий:
- адрес клиента совпадает 127.0.0.0/8
- клиент-адрес ::1
- клиент и адрес сервера подключения такие же
это обеспечивает удобный способ, чтобы соответствовать соединения, которые исходят от локального узла:
<VirtualHost *:80>
<Location />
Require local
</Location>
...
</VirtualHost>
Если вы используете Apache 2.2 внутри вашего виртуального хоста, вы должны добавить следующую директиву (mod_authz_host):
Order deny,allow
Deny from all
Allow from 10.0.0.1
Вы даже можете указать подсеть
Allow from 10.0.0
В Apache 2.4 похоже, немного другой конфигурации. Может лучше вам указать, какая версия Apache вы используете.
В Apache 2.4, синтаксис конфигурации авторизация поменялась, и порядок
, запретить
или разрешить
директивы не должны использоваться.
Новый способ сделать это было бы:
<VirtualHost *:8080>
<Location />
Require ip 192.168.1.0
</Location>
...
</VirtualHost>
Дополнительные примеры, используя новый синтаксис можно найти в документации по Apache: обновление до 2.4 с 2.2