Les nouveautés d'Apache 2.4
La fondation Apache vient d'annoncer l'arrivée d'Apache 2.4, une nouvelle version majeure du célèbre serveur HTTP. Il aura fallu attendre 6 ans pour voir son aboutissement et depuis beaucoup de chemin a été parcouru, notamment au niveau des performances. Le but à terme étant de concurrencer le challenger Russe Nginx. Voici la liste des améliorations les plus importantes.
Les améliorations au niveau du noyau
- Une consommation mémoire réduite par rapport à la version 2.2.x
- Une amélioration générale des performances
- La directive KeepAliveTimeout accepte dorénavant une durée de vie en milliseconde
- Le choix du module MPM (Modules Multi-Processus) peut maintenant se faire à l'exécution
- Le "MPM Event" est sorti du stade expérimental et est maintenant pleinement supporté
- Une prise en charge des lectures/écritures asynchrones pour les MPMs
- La directive LogLevel peut ê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
- Une nouvelle balise <If> permet de définir une configuration en fonction de critères liés à la requête (ex : <If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/">)
- On peut également spécifier des conditions complexes grâce aux directives à syntaxe commune comme SetEnvIfExpr, RewriteCond, Header...
- La directive NameVirtualHost est maintenant obsolète
Les nouveaux modules
Avec Apache 2.4, de nouveaux modules font leur apparition. Voici les plus importants :
- mod_proxy_express : ce module permet de faire du reverse proxy en masse. Il s'appuie sur un fichier DBM qui contient le nom des sites et les adresses vers les serveurs backend
- mod_proxy_fcgi et mod_proxy_scgi : ces deux modules mettent à disposition FastCGI et SCGI pour mod_proxy
- mod_ratelimit : il permet de limiter la bande passante pour certains clients
- mod_reqtimeout : il définit la durée de vie et le taux de transfert de données minimum pour la réception des requêtes
- mod_remoteip : ce module permet de traiter le client qui a initié la requête en tant que client original. On garde son adresse IP même s'il traverse un proxy ou un répartiteur de charge.
- mod_allowmethods : il permet de restreindre l'utilisation de certaines méthodes HTTP sans interférer avec l'authentification et l'autorisation.
- mod_xml2enc et mod_proxy_html : ces deux modules développés par des tiers sont désormais supportés officiellement
Les améliorations des modules existants
- mod_proxy_balancer : la configuration et l'ajout de membres dans un groupe pendant l'exécution ont été améliorés. La mise hors ligne d'un serveur se fait également plus en douceur grâce à une meilleure gestion des sessions persistantes
- mod_cache peut maintenant mettre en cache des requêtes HEAD. De plus, il est capable de servir des pages de cache si un serveur backend est indisponible (erreur 500)
- la sécurité a été améliorée pour les modules mod_cgi, mod_include et mod_isapi grâce à une vérification plus stricte des en-têtes
La liste complète des nouveautés est disponible ici. A noter qu'Apache reste l'un des serveurs web les plus utilisés dans le monde avec 64,92 % de part de marché, loin devant Microsoft IIS (14,39 %) et Nginx (9,89 %).
5 Commentaires pour "Les nouveautés d'Apache 2.4"
Flux des commentaires de cet article Ajouter un commentaireTrès bien cette monture.
Mais je n'ai pas encore eu la mise à jour :/ À moins qu'il faille la compiler.
@Théo : la mise à jour ne risque pas d'arriver tout de suite, surtout sur les distributions serveurs. Si tu veutx cette version maintenant, il vaut mieux la compiler. Sinon tu attends quelques mois.
Une fois compilé, le rendu est propre. Il me reste juste à chercher les optimisations puis à tester les nouveaux modules
Très bonne nouvelle, merci.
Bonjour,
et merci pour cet article.
Cependant une question : est-il possible de paramétrer cette nouvelle version de Apache afin de paramétrer plusieurs sites hébergé sur le même serveur, avec la même adresse IP, en https ?
Merci d'avance pour votre réponse.