在apache2.4版本之前做客户端访问控制,是用Allow Deny Order指令做访问控制的,而在2.4的版本上是用的用法跟之前的版本大不相同,如下
################################################
2.2上的配置
Order deny,allow
Deny from all
2.4上的配置
Require all denied
################################################
2.2上的配置
Order allow,deny
Allow from all
2.4上的配置
Require all granted
#################################################
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面给出了几个例子在2.4版本上的配置
1. 仅允许IP为192.168.1.1的主机访问
<RequireAll>
require all granted
require ip 192.168.1.1
</RequireAll>
2.仅允许192.168.0.0/24网络的主机访问
<RequireAll>
require all granted
require ip 192.168.1.0/24
</RequireAll>
3.禁止192.168.1.2的主机访问,其他的都允许访问,
<RequireAll>
require all granted
require not ip 192.168.1.2
</RequireAll>
4.允许所有访问,
require all granted
注,这个可以不用加容器<RequireAll> ...... </RequireAll>
直接,写在 <Directory ""> .....</Directory>里面就可以了
5.拒绝所有访问,
require all denied
Require all granted
允许所有请求访问资源
Require all denied
拒绝所有请求访问资源
Require env env-var [env-var] ...
当指定环境变量设置时允许访问
Require method http-method [http-method] ...
允许指定的http请求方法访问资源
Require expr expression
当expression返回true时允许访问资源
Require user userid [userid] ...
允许指定的用户id访问资源
Require group group-name [group-name] ...
允许指定的组内的用户访问资源
Require valid-user
所有有效的用户可访问资源
Require ip 10 172.20 192.168.2
允许指定IP的客户端可访问资源
Require not group select
select组内的用户不可访问资源