Apache - 限制为IP无法正常工作

时间:2010-04-21 13:36:11

标签: apache virtualhost

我有一个子域,我只想在内部访问;我试图通过编辑该域的VirtualHost块来在Apache中实现这一点。谁能看到我哪里出错了?注意,我的内部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>

由于

3 个答案:

答案 0 :(得分:15)

您错过了Deny from all行吗?哦,使用了错误的order

引用mod_access docs

  

[...]允许访问apache.org域中的所有主机;所有其他主机都被拒绝访问。

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

答案 1 :(得分:5)

问题是您对本地网络的允许线路。将Allow from 192.168.10.0/24替换为Allow from 192.168.10.(允许192.168.10。*)。

为了完整性,请添加Deny from all行,以明确您阻止其他人。

答案 2 :(得分:1)

我认为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