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