Apache 2.4似乎混在一起了:IP拒绝和用户拒绝不再独立工作了。
在较旧的版本中,我能够启用这两项功能,并且可以在不影响另一项的情况下使用它,例如:
deny from all
allow from ip1
allow from ip2
在apache2.4中,等效项是:
require ip1
require ip2
到目前为止,一切都很好。
但是,当您的网站中具有htacess + htpasswd时,该行为就不会达到您的预期,因为它认为无需输入密码即可信任所需的ip,从而简化了htacess,甚至更糟的是,由于以下原因,ips不在所需的列表中: htacess尝试使用密码登录,而那不是Apache 2.2的功能!
在古代apache中,allow from上的主机是唯一可以尝试进行身份验证的主机,即使被允许,它仍然需要htaccess中的密码才能打开网站。
更新:
我现在可以使用mod_acess_compat解决该问题...但是我认为这不是解决方案,因为我在apache 2.4上使用了古老的命令...而且我担心某些意外行为或过时的使用这个模块...
听起来您想要的是这样的:
<RequireAll>
<RequireAny>
Require ip1
Require ip2
</RequireAny>
Require valid-user
</RequireAll>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句