【Apache】Apache2.2与Apache2.4实现访问控制教程
在httpd配置文件中,要实现访问控制可以基于文件系统或者URL路径来进行
文件系统路径:
1、针对网站目录进行访问控制
<Directory ""> ... </Directory>
2、针对某单一文件进行访问控制
<File ""> ... </File>
3、使用正则表达式对某些文件进行访问控制
<FileMatch "PATTERN"> ... </FileMatch>
URL路径:
在新的Apache2.4版本中,其访问控制的配置语法与Apache2.2不同。在Apache2.2版本中,访问控制是基于客户端的主机名、IP地址以及客户端请求中的其他特征,使用Order(排序),Allow(允许),Deny(拒绝)指令来实现,被拒绝后的用户访问页面会提示403错误。在Apache2.4版本中,使用mod_authz_host模块实现访问控制。如下是一些示例以示区别:
<Location "">
...
</Location>
Apache2.2配置: Order deny,allow #排序,先拒绝后允许 Deny from all #拒绝所有 Apache2.4 配置: Require all denied #拒绝所有
实例2:所有请求都被允许
Apache2.2 配置: Order allow,deny #排序,先允许后拒绝 Allow from all #允许所有 Apache2.4 配置: Require all granted #允许所有
实例3:example.com所有请求都被允许,其他拒绝
Apache2.2 配置: Order Deny,Allow #排序,先拒绝后允许 Deny from all #拒绝所有 Allow from example.com #允许example.com Apache2.4 配置: Require host example.org #用host来指定主机名,也可以用ip来替代host标签,这样后面就需要跟上对应ip信息
实例4:允许所有主机访问,仅拒绝某主机
Apache2.4 配置: <RequireAll> #需要增加一个容器 require all granted require not ip 192.168.100.10 </RequireAll>
版权声明:本文章版权归数据库运维网(www.ywdba.cn)所有。如需引用本站内容,请注明来源及作者。
评论