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_fcgi
mod_proxy
的 FastCGI 协议后端mod_proxy_scgi
mod_proxy
的 SCGI 协议后端mod_proxy_express
mod_proxy
提供动态配置的大规模反向代理mod_remoteip
mod_heartmonitor
、mod_lbmethod_heartbeat
mod_proxy_balancer
基于后端服务器上的活动连接数来进行负载均衡决策。mod_proxy_html
mod_sed
mod_substitute
的高级替代方案,允许使用 sed 的全部功能编辑响应主体。mod_auth_form
mod_session
mod_allowmethods
mod_lua
mod_log_debug
mod_buffer
mod_data
mod_ratelimit
mod_request
mod_reflector
mod_slotmem_shm
mod_xml2enc
mod_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_ssl
mod_ssl
现在可以配置为使用 OCSP 服务器来检查客户端证书的验证状态。默认响应器是可配置的,以及是否优先考虑客户端证书本身指定的响应器。mod_ssl
现在还支持 OCSP 钉扎,其中服务器主动获取其证书的 OCSP 验证并在握手期间将其传输给客户端。mod_ssl
现在可以配置为通过 memcached 在服务器之间共享 SSL 会话数据mod_proxy
ProxyPass
指令现在最优地配置在 Location
或 LocationMatch
块中,并且在大量存在时,与传统的双参数语法相比,它提供了显著的性能优势。mod_proxy_balancer
mod_cache
mod_cache
CACHE 过滤器可以在过滤器链中的给定点可选地插入,以提供对缓存的精细控制。mod_cache
现在可以缓存 HEAD 请求。mod_cache
指令现在可以按目录设置,而不是按服务器设置。mod_cache
现在能够在后端不可用(错误 5xx)时提供陈旧的缓存数据。mod_cache
现在可以将 HIT/MISS/REVALIDATE 插入 X-Cache 标头。mod_include
mod_cgi
、mod_include
、mod_isapi
,...mod_authz_core
授权逻辑容器Require
指令以及相关的容器指令(例如 <RequireAll>
)来指定高级授权逻辑。mod_rewrite
mod_rewrite
为 RewriteRule
添加了 [QSD]
(查询字符串丢弃)和 [END]
标志,以简化常见的重写场景。RewriteCond
中使用复杂布尔表达式的可能性。RewriteMap
函数。mod_ldap
、mod_authnz_ldap
mod_authnz_ldap
添加了对嵌套组的支持。mod_ldap
添加了 LDAPConnectionPoolTTL
、LDAPTimeout
以及其他对超时处理的改进。这对于那些有状态防火墙会丢弃到 LDAP 服务器的空闲连接的设置尤其有用。mod_ldap
添加了 LDAPLibraryDebug
用于记录由所使用的 LDAP 工具包提供的调试信息。mod_info
mod_info
现在可以在服务器启动期间将预解析的配置转储到标准输出。mod_auth_basic
fcgistarter
htcacheclean
rotatelogs
htpasswd
、htdbm
mod_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 更改列表。