我正在尝试从Apache 2.2迁移到2.4。我遇到的一个问题是让我的.htaccess文件中的一个像2.2中一样工作。基本上我要做的是允许我的所有服务器在没有密码的情况下访问网站,然后当有人不在我的网络或我们的某个桌面上试图访问它时需要一个简单的密码。以下陈述来自2.2并按预期工作。 deny语句是允许来自组内的IP的子集。
AuthType Basic AuthName "Dev password" AuthUserFile /path/.htpass Require user devuserorder allow,deny
allow from xxx.xxx.xx.x/24 xxx.xxx.xx.x/16 xxx.xxx.xxx.x/24 deny from xxx.xxx.xxx.xxx/25
Satisfy any
然而,这是我认为我会在2.4中做同样的事情,但我无法让它工作:
RequireAny RequireAll RequireAny Require ip 10.0 Require ip 192.168.0 /RequireAny RequireNone
Require ip 10.0.10 Require ip 192.168.0.128/25 /RequireNone /RequireAllAuthType Basic AuthName "Dev password" AuthUserFile /path/.htpass Require user dev
/ RequireAny
有人可以告诉我我做错了什么吗?它不是从我的桌面请求身份验证。
很抱歉,我没有显示requireall和requireany的标签。所以我没有标记它们。
答案 0 :(得分:0)
你似乎做得对。为authz启动LogLevel:
LogLevel authz_core:trace3
并查看每次点击记录的内容。例如,它可能像IP范围规范中的拼写错误一样愚蠢。