Serveur HTTP Apache Version 2.4
Ce document décrit les modifications majeures apportées par la version 2.4 du serveur HTTP Apache. Pour les nouvelles fonctionnalités ajoutées par la version 2.2, se référer au document Nouvelles fonctionnalités de la version 2.2.
LoadModule
.LogLevel
peut maintenant être définie par module et par répertoire. Les
nouveaux niveaux trace1
à trace8
ont été
ajoutés au dessus du niveau de journalisation debug
.If
,
<ElseIf>
et
<Else>
permettent de définir une configuration en fonction de critères
liés à la requête.SetEnvIfExpr
, RewriteCond
, Header
,
<If>
, etc...
KeepAliveTimeout
en millisecondes.
.htaccess
AllowOverrideList
permet de contrôler de
manière plus précise la liste des directives autorisées dans les
fichiers .htaccess
.Define
permet de définir des variables dans les fichiers de
configuration, améliorant ainsi la clareté de la présentation si
la même valeur est utilisée en plusieurs points de la
configuration.
mod_proxy_fcgi
mod_proxy
.mod_proxy_scgi
mod_proxy
.mod_proxy_express
mod_proxy
la configuration dynamique
de mandataires inverses en masse.mod_remoteip
mod_heartmonitor
,
mod_lbmethod_heartbeat
mod_proxy_balancer
de répartir la
charge en fonction du nombre de connexions actives sur les
serveurs d'arrière-plan.mod_proxy_html
mod_sed
mod_substitute
qui permet
d'éditer le corps de la réponse avec toute la puissance de la
commande 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
(disponible à partir de la version 2.4.5)mod_proxy_wstunnel
(disponible à partir de la version 2.4.5)mod_authnz_fcgi
(disponible à partir de la version 2.4.10)mod_http2
(disponible à partir de la version 2.4.17)mod_proxy_http2
(disponible à partir de la version 2.4.19)mod_proxy
mod_proxy_hcheck
(disponible à partir de la version 2.4.21)mod_brotli
(disponible à partir de la version 2.4.26)mod_md
(disponible à partir de la version 2.4.30)mod_ssl
mod_ssl
peut maintenant vérifier la
validité des certificats clients en se connectant à
un serveur OCSP. Il est possible de définir un
répondeur par défaut, et de choisir si l'on
préfère le répondeur désigné
dans le certificat client.mod_ssl
supporte maintenant
l'estampillage OCSP (OCSP stapling), qui permet au serveur
d'attester la validité de son certificat auprès du client au
cours de la phase de négociation de la connexion.mod_ssl
peut maintenant être configuré pour
que celui-ci partage les données de session SSL entre les serveurs
via memcached.mod_proxy
ProxyPass
est maintenant configurée
de manière optimale dans les sections Location
ou LocationMatch
, et offre un gain de
performances important par rapport à la syntaxe traditionnelle à
deux paramètres lorsqu'elle est présente en grand nombre.mod_proxy_balancer
mod_cache
mod_cache
peut être
inséré à un certain point de la chaîne de filtrage pour contrôler
plus finement la mise en cache.
mod_cache
peut maintenant mettre en cache des
requêtes HEAD.mod_cache
peuvent maintenant être définies au
niveau du répertoire, et non plus seulement au niveau du serveur
principal.mod_cache
peut maintenant servir du contenu
non mis à jour lorsqu'un serveur d'arrière-plan n'est pas
disponible (erreur 5xx).mod_cache
peut maintenant insérer
HIT/MISS/REVALIDATE dans un en-tête X-Cache.mod_include
mod_cgi
, mod_include
,
mod_isapi
, ...mod_authz_core
Conteneurs de logique d'autorisationRequire
et les directives de
conteneurs associées, comme <RequireAll>
, permettent de définir une
logique d'autorisation avancée.mod_rewrite
RewriteRule
dispose maintenant
des drapeaux [QSD]
(Query String Discard) et
[END]
qui permettent de simplifier les scénarios de
réécriture courants.RewriteCond
.RewriteMap
.mod_ldap
, mod_authnz_ldap
mod_authnz_ldap
ajoute le support des
groupes imbriqués.mod_ldap
apporte les directives LDAPConnectionPoolTTL
et LDAPTimeout
, ainsi que d'autres
améliorations dans le traitement des délais. Ceci s'avère utile
pour les configurations où un pare-feu à mémoire d'état (stateful)
rejète les connexions inactives vers le serveur LDAP.mod_ldap
propose la directive LDAPLibraryDebug
qui permet de
journaliser les informations de débogage fournies par la boîte à
outils LDAP utilisée.mod_info
mod_info
est maintenant capable d'afficher la
configuration préinterprétée sur stdout au cours du démarrage du
serveur.mod_auth_basic
fcgistarter
htcacheclean
rotatelogs
htpasswd
, htdbm
mod_rewrite
a
été réorganisée et presque entièrement réécrite en mettant
l'accent sur les exemples et l'utilisation courante, ainsi que
sur l'incitation à utiliser d'autres solutions lorsque cela
s'avère plus approprié. Le document Rewrite
Guide constitue maintenant une section de premier niveau ;
il est mieux organisé et contient beaucoup plus de détails.mod_ssl
a été
grandement améliorée, avec plus d'exemples et un niveau "Bien
démarrer" qui s'ajoutent aux détails techniques déjà présents
dans la précédente documentation.mod_cache
, et la mise en cache
générique de type clé/valeur fournie par l'interface socache, mais aussi pour couvrir la mise
en cache spécialisée fournie par des mécanismes tels que ceux du
module mod_file_cache
.check_config
, a été ajoutée et
s'exécute entre les fonctions pre_config
et
open_logs
. Elle s'exécute aussi avant la fonction
test_config
si l'option -t
est passée au
démon httpd
. La fonction check_config
permet aux modules de vérifier l'interdépendance des valeurs des
directives de configuration et d'ajuster ces valeurs, alors que les
messages du serveur peuvent encore être affichés sur la console.
L'utilisateur est ainsi averti des erreurs de configuration avant que la
fonction du noyau open_logs
ne redirige les sorties de la
console vers le journal des erreurs.mod_ssl
.<RequireAll>
, les modules d'autorisation
s'enregistrent maintenant en tant
que fournisseur par le biais de ap_register_auth_provider().mod_ssl
. Sont supportés
actuellement : les fournisseurs utilisant un tampon cyclique en
mémoire partagée, les fichiers dbm sur disque, et les caches
distribués de type memcache.mod_cache
inclut maintenant un
nouveau point d'ancrage, cache_status
, qui est appelé
lorsque la décision à propos de la mise en cache est connue. Il en
existe une implémentation par défaut qui ajoute les en-têtes
optionnels X-Cache
et X-Cache-Detail
à
la réponse.La documentation du développeur contient une liste détaillée des modifications de l'API.