WEB服务之httpd2.2与2.4

1.httpd-2.4新特性

   (1)MPM支持运行为DSO机制;以模块形式按需加载;

    (2) event MPM生产环境可用;

    (3) 异步读写机制;

    (4) 支持每模块及每目录的单独日志级别定义;

    (5) 每请求相关的专用配置;

    (1)每请求相关的专用配置;

    (6) 增强版的表达式分析式;

    (7) 毫秒级持久连接时长定义;

    (8) 基于FQDN的虚拟主机也不再需要NameVirutalHost指令;

    (9) 新指令,AllowOverrideList;

    (10) 支持用户自定义变量;

    (11) 更低的内存消耗;


2.httpd-2.4新模块

    (1)mod_proxy_fcgi

    (2)mod_proxy_scgi

    (3)mod_remoteip


3、访问控制

   在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 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 172.27  #允许 特定IP












發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章