欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Apache2.4和Apache2.2访问控制配置语法对比

程序员文章站 2022-04-06 23:14:01
本文翻译自官方文档:《upgrading to 2.4 from 2.2》 一、访问控制 在apache2.2版本中,访问控制是基于客户端的主机名、ip地址以及客户端请...

本文翻译自官方文档:《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