2010-04-21 3 views
13

У меня есть субдомен, который я хочу видеть только внутри себя; Я пытаюсь достичь этого в Apache, отредактировав блок VirtualHost для этого домена. Кто-нибудь может увидеть, где я ошибаюсь? Обратите внимание: мой внутренний IP-адрес здесь 192.168.10.xxx. Мой код выглядит следующим образом:Apache - Ограничение на IP не работает

<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> 

Благодарности

ответ

15

Вы упускаете Deny from all линию? О, и используя неправильный order.

Цитируя mod_access docs:

[...] все хосты в домене apache.org доступ разрешен; всем другим хостам отказано в доступе.

Order Deny,Allow 
Deny from all 
Allow from apache.org 
+0

Я дал ему идти, но не повезло. Что происходит, когда я пытаюсь просмотреть сайт, он возвращает 403 запрещенных, независимо от того, где я пытаюсь. – Probocop

5

Проблема ваша линия позволяет для локальной сети. Заменить Allow from 192.168.10.0/24 на Allow from 192.168.10. (разрешите 192.168.10. *).

Для полноты текста добавьте строку Deny from all, чтобы было ясно, что вы блокируете всех остальных.

+0

Я попробовал, но все равно не повезло, это запрещено, независимо от того, где я пытаюсь. Спасибо – Probocop

+0

Похоже, что ваш конфиг где-то переписывается, так как я тестировал конфигурацию и работал. Взгляните на другие файлы конфигурации для правил доступа. Например, дистрибутивы на основе Debian добавят дополнительные ограничения в /etc/apache2/conf.d/security. –

+1

Этот ответ помог мне, но образец кода поможет еще больше. Я нашел это в двух ответах здесь: http://serverfault.com/a/323611/12448 –

1

Я полагаю, что путь внутри тега каталога должен быть просто /

<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