Apache - Ограничение IP-адреса не работает
У меня есть субдомен, который я хочу видеть только внутри себя; Я пытаюсь достичь этого в Apache, отредактировав блок VirtualHost для этого домена. Кто-нибудь может увидеть, где я ошибаюсь? Обратите внимание: мой внутренний IP-адрес здесь 192.168.10.xxx. Мой код выглядит следующим образом:
<VirtualHost *:80>
ServerName test.example.co.uk
DocumentRoot /var/www/test
ErrorLog /var/log/apache2/error_test_co_uk.log
LogLevel warn
CustomLog /var/log/apache2/access_test_co_uk.log combined
<Directory /var/www/test>
Order allow,deny
Allow from 192.168.10.0/24
Allow from 127
</Directory>
</VirtualHost>
Спасибо
Ответы
Ответ 1
Вам не хватает строки Deny from all
? О, и используя неправильный order
.
Цитирование mod_access docs:
[...] всем хостам в домене apache.org разрешен доступ; всем другим хостам отказано в доступе.
Order Deny,Allow
Deny from all
Allow from apache.org
Ответ 2
Проблема заключается в вашей линии разрешений для локальной сети. Замените Allow from 192.168.10.0/24
на Allow from 192.168.10.
(разрешите 192.168.10. *).
Для полноты добавьте строку Deny from all
, чтобы было ясно, что вы блокируете всех остальных.
Ответ 3
Я предполагаю, что путь внутри тега Directory должен быть просто /
<VirtualHost *:80>
ServerName test.example.co.uk
DocumentRoot /var/www/test
ErrorLog /var/log/apache2/error_test_co_uk.log
LogLevel warn
CustomLog /var/log/apache2/access_test_co_uk.log combined
<Directory />
Order allow,deny
Allow from 192.168.10.0/24
Allow from 127
</Directory>
</VirtualHost>
и не забывайте перезапускать apache