13

我有一个只想在内部访问的子域;我试图通过编辑该域的 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>

谢谢

4

3 回答 3

15

你错过了这Deny from all条线?哦,使用错误的order.

引用mod_access 文档

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

Order Deny,Allow
Deny from all
Allow from apache.org
于 2010-04-21T13:40:59.473 回答
5

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

为了完整起见,请添加Deny from all一行以明确表示您正在阻止其他所有人。

于 2010-04-21T15:08:19.040 回答
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

于 2015-02-21T09:37:06.643 回答