HAProxy est un logiciel open source de répartition de charge. Il permet de répartir les flux réseaux et applicatifs (TCP/TLS/HTTP) vers les serveurs d’applications de manière intelligente.
HAProxy existe depuis plus de 20 ans (la première release date de 2001) et est dans sa version 2.6 actuellement. HAProxy est réputé pour ses performances, sa fiabilité et sa grande flexibilité de configuration et de personnalisation. C’est pour cela que beaucoup de sites à fort trafic l’utilisent.
Et « cocorico », il s’agit d’un logiciel « français » à la base, même si sa communauté est maintenant mondiale !
1. Présentation d’HAProxy
HAProxy [HAPROXYORG] est donc un logiciel open source, fonctionnant en « userland » . Il est écrit en langage C et requiert très peu de librairies tierces. Son mode de fonctionnement en « reverse proxy » (on reviendra plus tard sur ce point) lui permet d’offrir un très large éventail de fonctionnalités : traitement SSL/TLS, routage HTTP, contrôle de vitalité des serveurs, etc.
La communauté et l’équipe de développement ont réussi l’exploit de maintenir ce logiciel à un haut niveau de...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première
[HAPROXYORG] Site communautaire d’HAProxy : https://www.haproxy.org/
[2MHTTPREQ] HAProxy peut traiter plus de 2 millions de requêtes HTTP(s) par seconde sur une seule instance EC2 AWS ARM Graviton2 : https://www.haproxy.com/fr/blog/haproxy-forwards-over-2-million-http-requests-per-second-on-a-single-aws-arm-instance/
[DATAPLANEAPI] Compagnon API à HAProxy :
https://github.com/haproxytech/dataplaneapi
[TALKOBSERVABILITE] Présentation de Willy Tarreau sur l’observabilité avec HAProxy :
https://www.youtube.com/watch?v=1JSX9ch04eY
[SECURITE] Article de blog présentant différentes fonctionnalités d’HAProxy pour protéger vos applications et API : https://www.haproxy.com/fr/blog/application-layer-ddos-attack-protection-with-haproxy/
[LUA] Article de blog présentant 5 manières d’étendre les fonctionnalités d’HAProxy avec le langage Lua : https://www.haproxy.com/fr/blog/5-ways-to-extend-haproxy-with-lua/
[SPOE1] Article de blog présentant le SPOE :
https://www.haproxy.com/fr/blog/extending-haproxy-with-the-stream-processing-offload-engine/
[SPOE2] Page wiki du projet HAProxy sur le SPOE :
https://github.com/haproxy/wiki/wiki/SPOE:-Stream-Processing-Offloading-Engine
[PROXYPROTOCOL] Article de blog sur le proxy-protocol :
https://www.haproxy.com/fr/blog/use-the-proxy-protocol-to-preserve-a-clients-ip-address/
[TRANSPARENT] Article de blog sur l’activation du mode transparent :
https://www.haproxy.com/fr/blog/howto-transparent-proxying-and-binding-with-haproxy-and-aloha-load-balancer/
[RFC2616] Définition de la « gateway » HTTP dans la RFC :
https://www.rfc-editor.org/rfc/rfc2616.html#section-1.3
[MAINTENEURDEBIAN] Vincent Bernat : https://vincent.bernat.ch/fr
[HAPROXYDEBIANNET] Site pour packages HAProxy alternatifs pour Debian et Ubuntu : https://haproxy.debian.net/
[HAPROXYORG] Site officiel d’HAProxy Community : https://haproxy.org/
[HAPROXYISSUES] Remontée de bug pour HAProxy communautaire :
https://github.com/haproxy/haproxy/issues