Apache HTTP Server Version 2.4
This document describes some of the major changes between the 2.2 and 2.4 versions of the Apache HTTP Server. For new features since version 2.0, see the 2.2 new features document.
LoadModule
directive.LogLevel
can now be
configured per module and per directory. New levels trace1
to trace8
have been added above the debug
log
level.<If>
,
<ElseIf>
,
and <Else>
sections can be used to set the configuration based on per-request
criteria.SetEnvIfExpr
,
RewriteCond
,
Header
,
<If>
,
and others.
KeepAliveTimeout
in milliseconds.
AllowOverrideList
directive allows more fine grained control which directives are
allowed in .htaccess
files. Define
variables in the configuration, allowing a clearer representation
if the same value is used at many places in the configuration.
mod_proxy_fcgi
mod_proxy
mod_proxy_scgi
mod_proxy
mod_proxy_express
mod_proxy
mod_remoteip
mod_heartmonitor
,
mod_lbmethod_heartbeat
mod_proxy_balancer
to base loadbalancing decisions
on the number of active connections on the backend servers.mod_proxy_html
mod_sed
mod_substitute
, allows
to edit the response body with the full power of 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
(available since 2.4.5)mod_proxy_wstunnel
(available since 2.4.5)mod_authnz_fcgi
(available since 2.4.10)mod_http2
(available since 2.4.17)mod_proxy_http2
(available since 2.4.19)mod_proxy
mod_proxy_hcheck
(available since 2.4.21)mod_brotli
(available since 2.4.26)mod_md
(available since 2.4.30)mod_socache_redis
(available since 2.4.39)mod_ssl
mod_ssl
can now be configured to use an
OCSP server to check the validation status of a client
certificate. The default responder is configurable, along with
the decision on whether to prefer the responder designated in
the client certificate itself.mod_ssl
now also supports OCSP stapling, where the
server pro-actively obtains an OCSP verification of its certificate and
transmits that to the client during the handshake. mod_ssl
can now be configured to share SSL Session
data between servers through memcachedmod_proxy
ProxyPass
directive
is now most optimally configured within a
Location
or
LocationMatch
block, and offers a significant performance advantage over the traditional
two-parameter syntax when present in large numbers.mod_proxy_balancer
mod_cache
mod_cache
CACHE filter can be optionally inserted
at a given point in the filter chain to provide fine control over caching.
mod_cache
can now cache HEAD requests.mod_cache
directives can now be set
per directory, instead of per server.mod_cache
is now capable of serving stale cached
data when a backend is unavailable (error 5xx).mod_cache
can now insert HIT/MISS/REVALIDATE into
an X-Cache header.mod_include
mod_cgi
, mod_include
,
mod_isapi
, ...mod_authz_core
Authorization Logic ContainersRequire
directive
and the related container directives, such as
<RequireAll>
.mod_rewrite
mod_rewrite
adds the [QSD]
(Query String Discard) and [END]
flags for
RewriteRule
to
simplify common rewriting scenarios.RewriteCond
.RewriteMap
functions.mod_ldap
, mod_authnz_ldap
mod_authnz_ldap
adds support for nested groups.mod_ldap
adds
LDAPConnectionPoolTTL
,
LDAPTimeout
, and
other improvements in the handling of timeouts.
This is especially useful for setups where a
stateful firewall drops idle connections to the LDAP server.mod_ldap
adds
LDAPLibraryDebug
to log
debug information provided by the used LDAP toolkit.mod_info
mod_info
can now dump the pre-parsed configuration
to stdout during server startup.mod_auth_basic
fcgistarter
htcacheclean
rotatelogs
htpasswd
, htdbm
mod_rewrite
documentation has been
rearranged and almost completely rewritten, with a focus on
examples and common usage, as well as on showing you when other
solutions are more appropriate. The Rewrite
Guide is now a top-level section with much more detail and
better organization.mod_ssl
documentation has been greatly
enhanced, with more examples at the getting started level, in
addition to the previous focus on technical details.mod_cache
, and the generic
key/value caching provided by the socache
interface, as well as to cover specialised caching provided by
mechanisms such as mod_file_cache
.check_config
, has been added which runs
between the pre_config
and open_logs
hooks. It also runs before the test_config
hook
when the -t
option is passed to
httpd
. The check_config
hook
allows modules to review interdependent configuration directive
values and adjust them while messages can still be logged to the
console. The user can thus be alerted to misconfiguration problems
before the core open_logs
hook function redirects
console output to the error log.mod_ssl
.<RequireAll>
.mod_ssl
session cache.
Providers using a shared-memory cyclic buffer, disk-based dbm
files, and a memcache distributed cache are currently
supported.mod_cache
module now includes a new
cache_status
hook, which is called when the caching
decision becomes known. A default implementation is provided
which adds an optional X-Cache
and
X-Cache-Detail
header to the response.The developer documentation contains a detailed list of API changes.