Apache HTTP Server 版本 2.4

本文档描述了 Apache HTTP Server 2.2 和 2.4 版本之间的一些主要变化。有关 2.0 版本以来的新功能,请参阅 2.2 新功能 文档。
LoadModule 指令在运行时配置首选的 MPM。LogLevel。在 debug 日志级别之上添加了新的级别 trace1 到 trace8。<If>、<ElseIf> 和 <Else> 部分可用于根据每个请求的条件设置配置。SetEnvIfExpr、RewriteCond、Header、<If> 等。KeepAliveTimeout。AllowOverrideList 指令允许更细粒度地控制哪些指令在 .htaccess 文件中允许。Define 变量,如果在配置中的许多地方使用相同的值,则可以更清楚地表示。mod_proxy_fcgimod_proxy 的 FastCGI 协议后端mod_proxy_scgimod_proxy 的 SCGI 协议后端mod_proxy_expressmod_proxy 提供动态配置的大规模反向代理mod_remoteipmod_heartmonitor、mod_lbmethod_heartbeatmod_proxy_balancer 基于后端服务器上的活动连接数来进行负载均衡决策。mod_proxy_htmlmod_sedmod_substitute 的高级替代方案,允许使用 sed 的全部功能编辑响应主体。mod_auth_formmod_sessionmod_allowmethodsmod_luamod_log_debugmod_buffermod_datamod_ratelimitmod_requestmod_reflectormod_slotmem_shmmod_xml2encmod_macro(自 2.4.5 起可用)mod_proxy_wstunnel(自 2.4.5 起可用)mod_authnz_fcgi(自 2.4.10 起可用)mod_http2(自 2.4.17 起可用)mod_proxy_http2(自 2.4.19 起可用)mod_proxy 的 HTTP/2 协议后端mod_proxy_hcheck(自 2.4.21 起可用)mod_brotli(自 2.4.26 起可用)mod_md(自 2.4.30 起可用)mod_proxy_uwsgi(自 2.4.30 起可用)mod_proxy 的 UWSGI 网关模块。mod_socache_redis(自 2.4.39 起可用)mod_systemd(自 2.4.42 起可用)Type=notify 的服务中使用。mod_sslmod_ssl 现在可以配置为使用 OCSP 服务器来检查客户端证书的验证状态。默认响应器是可配置的,以及是否优先考虑客户端证书本身指定的响应器。mod_ssl 现在还支持 OCSP 钉扎,其中服务器主动获取其证书的 OCSP 验证并在握手期间将其传输给客户端。mod_ssl 现在可以配置为通过 memcached 在服务器之间共享 SSL 会话数据mod_proxyProxyPass 指令现在最优地配置在 Location 或 LocationMatch 块中,并且在大量存在时,与传统的双参数语法相比,它提供了显著的性能优势。mod_proxy_balancermod_cachemod_cache CACHE 过滤器可以在过滤器链中的给定点可选地插入,以提供对缓存的精细控制。mod_cache 现在可以缓存 HEAD 请求。mod_cache 指令现在可以按目录设置,而不是按服务器设置。mod_cache 现在能够在后端不可用(错误 5xx)时提供陈旧的缓存数据。mod_cache 现在可以将 HIT/MISS/REVALIDATE 插入 X-Cache 标头。mod_includemod_cgi、mod_include、mod_isapi,...mod_authz_core 授权逻辑容器Require 指令以及相关的容器指令(例如 <RequireAll>)来指定高级授权逻辑。mod_rewritemod_rewrite 为 RewriteRule 添加了 [QSD](查询字符串丢弃)和 [END] 标志,以简化常见的重写场景。RewriteCond 中使用复杂布尔表达式的可能性。RewriteMap 函数。mod_ldap、mod_authnz_ldapmod_authnz_ldap 添加了对嵌套组的支持。mod_ldap 添加了 LDAPConnectionPoolTTL、LDAPTimeout 以及其他对超时处理的改进。这对于那些有状态防火墙会丢弃到 LDAP 服务器的空闲连接的设置尤其有用。mod_ldap 添加了 LDAPLibraryDebug 用于记录由所使用的 LDAP 工具包提供的调试信息。mod_infomod_info 现在可以在服务器启动期间将预解析的配置转储到标准输出。mod_auth_basicfcgistarterhtcachecleanrotatelogshtpasswd、htdbmmod_rewrite 文档已重新排列并几乎完全重写,重点关注示例和常见用法,以及向您展示何时其他解决方案更合适。 重写指南 现在是一个顶级部分,包含更多详细信息和更好的组织。mod_ssl 文档已大大增强,除了之前对技术细节的关注外,还提供了更多入门级别的示例。mod_cache 提供的 RFC2616 HTTP/1.1 缓存功能,以及 socache 接口提供的通用键值缓存,以及涵盖由 mod_file_cache 等机制提供的专门缓存。check_config,它在 pre_config 和 open_logs 钩子之间运行。当将 -t 选项传递给 httpd 时,它也会在 test_config 钩子之前运行。check_config 钩子允许模块审查相互依赖的配置指令值并在仍然可以将消息记录到控制台时调整它们。因此,用户可以在核心 open_logs 钩子函数将控制台输出重定向到错误日志之前被告知配置错误问题。mod_ssl 中实现的表达式解析器改编而来的。<RequireAll>。mod_ssl 会话缓存的先前实现的基于提供程序的小数据对象缓存接口。目前支持使用共享内存循环缓冲区、基于磁盘的 dbm 文件和 memcache 分布式缓存的提供程序。mod_cache 模块现在包含一个新的 cache_status 钩子,它在缓存决策已知时被调用。提供了一个默认实现,它在响应中添加可选的 X-Cache 和 X-Cache-Detail 标头。开发人员文档包含一个 详细的 API 更改列表。