在CentOS上运行Apache 2.4.6。
具有以下内容:
<Directory /var/www/html/mydirectory>
AllowOverride AuthConfig
DirectoryIndex index.html
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
Require ip 192.168.1
Require ip 192.168.66
Require ip 192.168.229.20
</RequireAny>
</Directory>
我的目录中的.htaccess包含:
AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/httpd/mine.passwd
Require valid-user
问题是位于192.168.202.1的计算机可以访问mydirectory。 AllowOverride命令是否覆盖RequireAny块?任何人都可以看到的配置有根本性的错误吗?
谢谢
jcrow
编辑:
因此,在研究了2.4的安全模型之后,我重写了配置。 我完全删除了.htaccess文件,并将其内容放入配置文件中,如下所示:
<Directory /var/www/html/mydirectory>
DirectoryIndex index.html
AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/httpd/mine.passwd
<RequireAll>
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
Require ip 192.168.66
</RequireAny>
Require valid-user
</RequireAll>
</Directory>
现在一切都好了:)