港服(Server.HK)apache教程:Apache HTTP Server 2.2 新特性概述

本文档描述了 Apache HTTP Server 2.0 和 2.2 版本之间的一些主要变化。有关 1.3 版以来的新…

本文档描述了 Apache HTTP Server 2.0 和 2.2 版本之间的一些主要变化。有关 1.3 版以来的新功能,请参阅2.0 新功能 文档。

核心增强

验证/验证
捆绑的身份验证和授权模块已重构。新的 mod_authn_alias(已从 2.3/2.4 移除)模块可以大大简化某些身份验证配置。有关这些更改如何影响用户和模块编写者的更多信息,请参阅模块名称更改和 开发人员更改。
缓存
mod_cache
mod_cache_disk, 和 mod_mem_cache(已经从 2.3/2.4 中删除)已经发生了很多变化,现在被认为是生产质量的。
htcacheclean 已被引入清理
mod_cache_disk 设置。
配置
默认配置布局已被简化和模块化。可用于启用常用功能的配置片段现在与 Apache 捆绑在一起,并且可以轻松添加到主服务器配置中。
优雅的停止

prefork
worker并且 
event 最可能模式现在允许
httpd 通过将安全关机 
graceful-stop 信号。
GracefulShutdownTimeout添加了该指令以指定可选的超时,之后
httpd无论正在服务的任何请求的状态如何, 都将终止。
代理

mod_proxy_balancer模块为
mod_proxy. 新
mod_proxy_ajp模块添加了对Apache Tomcat
Apache JServ Protocol version 1.3使用的 支持 。
更新了正则表达式库
现在包括Perl 兼容正则表达式库(PCRE) 的5.0 版 。 
httpd可以通过传递
--with-pcre标志来配置使用 PCRE 的系统安装 。
智能过滤
mod_filter向输出过滤器链引入动态配置。它允许根据任何请求或响应标头或环境变量有条件地插入过滤器,并免除 2.0 架构中存在更多问题的依赖项和排序问题。
大文件支持
httpd现在在现代 32 位 Unix 系统上支持大于 2GB 的文件。还添加了对处理 >2GB 请求正文的支持。
事件 MPM

eventMPM使用单独的线程来处理保持活动的请求和接受连接。Keep Alive 请求传统上需要 httpd 指定一个工作人员来处理它。在达到 Keep Alive 超时之前,无法再次使用此专用工作器。
SQL 数据库支持
mod_dbd
apr_dbd 框架一起为需要它的模块带来直接的 SQL 支持。支持线程 MPM 中的连接池。

模块增强

验证/验证
aaa 目录中的模块已重命名,并为摘要身份验证提供更好的支持。例如, 
mod_auth现在被拆分为 
mod_auth_basic和 
mod_authn_file
mod_auth_dbm现在被称为
mod_authn_dbm
mod_access已更名
mod_authz_host。还有一个新的 mod_authn_alias(已从 2.3/2.4 中删除)模块,用于简化某些身份验证配置。
mod_authnz_ldap
该模块是 2.0
mod_auth_ldap模块到 2.2
Authn/Authz 框架的端口 。新功能包括在
Require指令中使用 LDAP 属性值和复杂的搜索过滤器 。
mod_authz_owner
一个新的模块,它根据文件系统上文件的所有者来授权访问文件
mod_version
一个新模块,允许根据正在运行的服务器的版本号启用配置块。
mod_info
添加了一个新
?config参数,它将显示 Apache 解析的配置指令,包括它们的文件名和行号。该模块还显示了所有请求挂钩的顺序和其他构建信息,类似于
httpd -V.
mod_ssl
添加了对RFC 2817的支持 ,它允许连接从明文升级到 TLS 加密。
mod_imagemap
mod_imap已重命名为 
mod_imagemap以避免用户混淆。

程序增强

httpd
添加了一个新的命令行选项
-M,用于列出基于当前配置加载的所有模块。与
-l选项不同,此列表包括通过
mod_so.
httxt2dbm
一项新的计划用于生成DBM从文本输入文件,用于
RewriteMap 与
dbm地图类型。

模块开发人员更改

APR 1.0 API
Apache 2.2 使用 APR 1.0 API。所有不推荐使用的函数和符号都已从
APR和 中 删除
APR-Util。有关详细信息,请参阅 APR 网站。
验证/验证
捆绑的身份验证和授权模块已按以下方式重命名:

  • mod_auth_* -> 实现 HTTP 身份验证机制的模块
  • mod_authn_* -> 提供后端身份验证提供程序的模块
  • mod_authz_* -> 实现授权(或访问)的模块
  • mod_authnz_* -> 实现身份验证和授权的模块

有一个新的身份验证后端提供程序方案,可以极大地简化新身份验证后端的构建。

连接错误记录
添加了一个新功能
ap_log_cerror来记录客户端连接发生的错误。记录时,该消息包括客户端 IP 地址。
添加了测试配置挂钩
添加了一个新的钩子,
test_config以帮助模块只在用户传递 
-t
httpd.
设置线程 MPM 的堆栈大小
添加了一个新指令
ThreadStackSize来设置所有线程 MPM 上的堆栈大小。对于具有较小默认线程堆栈大小的平台上的某些第三方模块,这是必需的。
输出过滤器的协议处理
过去,每个过滤器都负责确保它在影响它们的地方生成正确的响应标头。过滤器现在可以
mod_filter使用 
ap_register_output_filter_protocol或 
ap_filter_protocol调用将公共协议管理委托 给 。
添加了监视器钩子
监视器挂钩使模块能够在父(根)进程中运行常规/计划作业。
正则表达式 API 变化

pcreposix.h报头不再可用; 它被新的
ap_regex.h标题取代。该POSIX.2
regex.h由旧的头露出实施是现在下提供
ap_从命名空间
ap_regex.h。调用
regcomp
regexec等可以替换为调用 
ap_regcomp
ap_regexec
DBD 框架(SQL 数据库 API)

对于 Apache 1.x 和 2.0,需要 SQL 后端的模块必须自己负责管理它。除了重新发明轮子之外,这可能非常低效,例如当多个模块各自维护自己的连接时。

Apache 2.1 及更高版本提供ap_dbd用于管理数据库连接的API(包括针对线程和非线程 MPM 的优化策略),而 APR 1.2 及更高版本提供apr_dbd用于与数据库交互的API。

新模块现在应该将这些 API 用于所有 SQL 数据库操作。现有的应用程序应该升级以在可行的情况下使用它,无论是透明的还是作为向用户推荐的选项。

为您推荐

apache 和nginx 的区别,原理以及各自的优缺点?

apache 和nginx 的区别,原理以及各自的优缺点? Apache和Nginx是两个常见的Web服务器软件,它们都...

在服务器上安装Web服务器Apache

港服(Server.HK):搞那么多浮云干嘛?推荐使用宝塔。 在当今数字化时代,Web服务器扮演着连接互联网世界的关键角...

港服(Server.HK):解析WEB服务器、应用程序服务器、HTTP服务器的区别与关系

随着信息技术的不断发展,各种服务器的概念也逐渐被广泛提及,但是对于WEB服务器、应用程序服务器以及HTTP服务器的区别和...

港服(Server.HK)apache教程:Apache 安全设置

有关设置Web服务器的安全问题的一些提示和技巧。一些建议通用的,其他建议特定于Apache版本。 保持最新 Apache...

港服(Server.HK)apache教程:Apache HTTP Server 2.0 新特性概述

本文档描述了 Apache HTTP Server 1.3 和 2.0 版本之间的一些主要变化。 核心增强 Unix 线...
返回顶部