时间:2021-05-19
本文翻译自官方文档:《Upgrading to 2.4 from 2.2》
一、访问控制
在Apache2.2版本中,访问控制是基于客户端的主机名、IP地址以及客户端请求中的其他特征,使用Order(排序), Allow(允许), Deny(拒绝),Satisfy(满足)指令来实现。
在Apache2.4版本中,使用mod_authz_host这个新的模块,来实现访问控制,其他授权检查也以同样的方式来完成。旧的访问控制语句应当被新的授权认证机制所取代,即便Apache已经提供了mod_access_compat这一新模块来兼容旧语句。
这里有一些实例,用新方法取代旧语句实现相同的访问控制
实例1:所有请求都被拒绝
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.org所有请求都被允许,其他拒绝
Apache2.2 配置:
复制代码 代码如下:
Order Deny,Allow #排序,先拒绝后允许
Deny from all #拒绝所有
Allow from example.org #允许example.org
Apache2.4 配置:
复制代码 代码如下:
Require host example.org #拒绝所有
二、Apache Require 指令
了解更多require指令用法:《Apache Module mod_authz_core》
附:常见访问控制指令
复制代码 代码如下:
Require all granted #允许所有
Require all denied #拒绝所有
Require env env-var [env-var] ... #允许,匹配环境变量中任意一个
Require method http-method [http-method] ... #允许,特定的HTTP方法
Require expr expression #允许,表达式为true
Require user userid [ userid ] ... #允许,特定用户
Require group group-name [group-name] ... #允许,特定用户组
Require valid-user # #允许,有效用户
Require ip 10 172.20 192.168.2 #允许 特定IP
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
改用Apache2.4一段时间了,一直没发现它和Apache2.2的有什么区别,一些基本配置都是差不多,直到前几天配置虚拟主机是才发现了一些小小的不同
在apache2.4版本之前做客户端访问控制,是用AllowDenyOrder指令做访问控制的,而在2.4的版本上是用的用法跟之前的版本大不相同,如下2.2上的
Ubuntu14.02下编译及配置apache2.4(pythonCGI):#下载apache2.4源码包wgethttp://mirrors.cnnic.cn
切换到你的apache安装目录下比如我的C:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\bin在这个目录下
这里首先介绍的是wamp51.7.4版本的升级方法,这个版本配置为php5.2、mysql5.0、和PHPMyAdmin2.11.9.2、Apache2.2。因