Serveur Apache HTTP 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.
.htaccessAllowOverrideList 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_fcgimod_proxy.mod_proxy_scgimod_proxy.mod_proxy_expressmod_proxy la configuration dynamique
de mandataires inverses en masse.mod_remoteipmod_heartmonitor,
mod_lbmethod_heartbeatmod_proxy_balancer de répartir la
charge en fonction du nombre de connexions actives sur les
serveurs d'arrière-plan.mod_proxy_htmlmod_sedmod_substitute qui permet
d'éditer le corps de la réponse avec toute la puissance de la
commande sed.mod_auth_formmod_sessionmod_allowmethodsmod_luamod_log_debugmod_buffermod_datamod_ratelimitmod_requestmod_reflectormod_slotmem_shmmod_xml2encmod_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_sslmod_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_proxyProxyPass 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_balancermod_cachemod_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_includemod_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_rewriteRewriteRule 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_ldapmod_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_infomod_info est maintenant capable d'afficher la
configuration préinterprétée sur stdout au cours du démarrage du
serveur.mod_auth_basicfcgistarterhtcachecleanrotatelogshtpasswd, htdbmmod_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.