Apache如何创build一个只能从本地访问的目录,还可以使用authenticated和valid-user

我试图做到这一点与要求本地和要求有效的用户,但看起来像要求本地覆盖有效用户。 使本地访问不需要进行身份validation

AuthName "Authenticate" AuthType Basic AuthUserFile "/home/tmp/.htpassword" Require local Require valid-user 

当我删除需要本地validation正在工作。 但它允许从外部访问。 所以如何configuration这个,所以我只能允许本地访问有效用户

在Apache 2.4中,您可以select使用RequireAll分组指令:

 <Directory /some/path> AuthName "Authenticate" AuthType Basic AuthUserFile "/home/tmp/.htpassword" <RequireAll> Require valid-user Require ip 192.168.1 </RequireAll> </Directory> 

没有明确的RequireAll指令,Apache使用隐式的RequireAny ,只要成功地匹配其中一个需求就足以被授予访问权限。

在Apache 2.2中,您的粒度控制较less,但可以使用Satisfy指令来指导Apache如何组合Allow和Require指令。

 <Directory /some/path> AuthName "Authenticate" AuthType Basic AuthUserFile "/home/tmp/.htpassword" Require valid-user Order allow,deny Allow from 192.168.1 Satisfy All </Directory> 

这需要authentication用户和本地范围内的客户端IP地址:在本例中为192.168.1.0/24