HAProxy – Nouvelle version majeure 1.5.0
Après plus de 4 ans et 3 mois de travail, la nouvelle version majeure de HAProxy 1.5.0 vient de sortir !!
HAProxy est un proxy HTTP/TCP hautement disponible qui permet de faire du load-balancing.
Il est utilisé dans de nombreuses infrastructure web et est réputé pour ses fonctionnalités, sa stabilités, ses performances… Bref, un must-have de l’hébergement web à fort trafic.
Cette nouvelle version apporte de nouvelles fonctionnalités et améliorations de performances.
Nouvelles fonctionnalités HAProxy :
- Support natif de SSL avec SNI/NPN/ALPN and OCSP stapling
- Support d’IPv6 partout (serveur, ACLs…) et des sockets Unix partout
- Protecion Anti-DDOS
- Support full HTTP keep-alive de bout en bout pour un meilleur support de NTLM et pour améliorer l’efficacité des serveurs fournissant du contenu statique
- La compression HTTP/1.1 (deflate,gzip) pour économiser la bande passante.
- Support du protocole PROXY en version 1 et 2
- Règles de filtrage au niveau TCP sur :
- l’établissement de la connexion (tcp-request connection)
- du contenu qui arrive dans la connexion (tcp-response)
- Sur des réponses HTTP (http-response)
- Les ACLs peuvent utiliser n’importe quelle méthode avec un échantillon en entrée.
- Les ACLs et les maps peuvent être mise à jour directement en CLI
- Appliquer des traitements depuis un contenu (appelé convertisseur : majuscule-> minuscule, convertir une chaîne en entier…)
- Stick-tables et compteurs : suivi des données d’utilisation :
- connexions concurrente/simultanées, taux de connexion
- nombre total d’octets in/out, les taux d’octets in/out
- Nombre total de requêtes http, d’erreurs http, taux de requêtes http, taux d’erreurs.
- Temps de réponse moyen
- Format personnalisable pour les logs, unique-id, réécriture d’en-tête et les redirections
- Prioriser les traitements sur TCP (pratique en cas d’attaque)
- Jouer sur les niveaux de logs
- Amélioration des contrôles de « santé », tous compatibles SSL, check scriptables TCP, check agent, redis, postgres
- Amélioration du parsing du fichier de configuration permettant le support de centaines de milliers de backend et certificat sans transpirer ;)
- …
Bref, les nouveautés sont vraiment très nombreuses !!!
Je vous invite chaudement à regarder la vidéo de Willy Tarreau (le créateur d’Haproxy, mais pas que…) lors du 22ème rendez-vous de FRench Network Operators Group (FRnOG) qui présente les HAProxy en version 1.5 et ce qui viendra par la suite.
FRNOG 22 – Willy Tarreau : HAProxy 1… par frnog
Les évolutions de HAProxy pour la v1.6
- Mise à jour de la syntaxe de configuration et retrait de fonctionnalité obsolète
- Meilleure gestion multi-process/multi-thread (check unifié, stick-tables partagé)
- Cache en RAM, permet de réduire le nombre de connexion qu’on envoi sur un varnish ou un nginx
- Résolution DNS à la volée
- Gateway HTTP/2.0 vers HTTP/1.x
- Compression gzip moins consommatrice de ressource
- SSL : Cache partagé, utilisation de CyaSSL (moins consommateur en ressource qu’openssl apparemment)
- Sauvegarde et réstauration des états afin de ne pas les perdre lors de la recharge de la conf
- QOS : Trafic Shaping
- Rendre le code plus modulaire pour faciliter les contributions
- Améliorer la documentation
- …
Liens utiles :
Changelog complet (en) de HAProxy
Documentation de configuration de HAProxy 1.5
Société qui porte le projet HAProxy, HAProxy Technologies (anciennement Excelliance)
Note : L’image pour illustrer cet article n’a rien d’officiel, je trouve juste que le logo actuel a un peu vieilli ;) Je le donne de bon cœur ;)