{"id":9219,"date":"2024-09-04T16:03:33","date_gmt":"2024-09-04T16:03:33","guid":{"rendered":"https:\/\/www.webhi.com\/how-to\/?p=9219"},"modified":"2024-09-04T16:03:35","modified_gmt":"2024-09-04T16:03:35","slug":"equilibrage-de-charge-load-balance-haproxy-linux-ubuntu","status":"publish","type":"post","link":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/","title":{"rendered":"\u00c9quilibrage de charge avec HAProxy sur Ubuntu"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/09\/haproxy_loadbalance_fr.jpg\" alt=\"guide d'installation HAProxy load balancing Configure on Ubuntu Debian\" class=\"wp-image-9226\" srcset=\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/09\/haproxy_loadbalance_fr.jpg 1200w, https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/09\/haproxy_loadbalance_fr-300x169.jpg 300w, https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/09\/haproxy_loadbalance_fr-1024x576.jpg 1024w, https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/09\/haproxy_loadbalance_fr-768x432.jpg 768w, https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/09\/haproxy_loadbalance_fr-150x84.jpg 150w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1-introduction\">1. Introduction<\/h2>\n\n\n\n<p>Dans le paysage num\u00e9rique d&#8217;aujourd&#8217;hui, assurer une haute disponibilit\u00e9 et des performances optimales des applications web est crucial. \u00c0 mesure que le trafic vers votre site web ou votre application augmente, un seul serveur peut ne pas suffire pour g\u00e9rer efficacement la charge. C&#8217;est l\u00e0 qu&#8217;intervient l&#8217;\u00e9quilibrage de charge, et HAProxy se distingue comme l&#8217;une des solutions d&#8217;\u00e9quilibrage de charge les plus puissantes et flexibles disponibles.<\/p>\n\n\n\n<p>Ce tutoriel complet vous guidera \u00e0 travers le processus de configuration et de configuration de HAProxy sur Ubuntu pour distribuer le trafic entrant sur plusieurs serveurs backend. \u00c0 la fin de ce guide, vous disposerez d&#8217;une solution d&#8217;\u00e9quilibrage de charge robuste qui peut am\u00e9liorer significativement les performances, la fiabilit\u00e9 et l&#8217;\u00e9volutivit\u00e9 de votre application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-comprendre-l%C3%A9quilibrage-de-charge\">2. Comprendre l&#8217;\u00e9quilibrage de charge<\/h2>\n\n\n\n<p>Avant de plonger dans les d\u00e9tails techniques, explorons bri\u00e8vement ce qu&#8217;est l&#8217;\u00e9quilibrage de charge et pourquoi il est essentiel.<\/p>\n\n\n\n<p>L&#8217;\u00e9quilibrage de charge est le processus de distribution du trafic r\u00e9seau entrant sur plusieurs serveurs. Cette approche offre plusieurs avantages :<\/p>\n\n\n\n<ol>\n<li><strong>Am\u00e9lioration des performances<\/strong>&nbsp;: En r\u00e9partissant la charge sur plusieurs serveurs, vous pouvez r\u00e9duire la charge sur chaque serveur, ce qui conduit \u00e0 des temps de r\u00e9ponse plus rapides.<\/li>\n\n\n\n<li><strong>Haute disponibilit\u00e9<\/strong>&nbsp;: Si un serveur tombe en panne, l&#8217;\u00e9quilibreur de charge peut rediriger le trafic vers les serveurs sains restants, assurant que votre application reste disponible.<\/li>\n\n\n\n<li><strong>\u00c9volutivit\u00e9<\/strong>&nbsp;: \u00c0 mesure que votre trafic augmente, vous pouvez facilement ajouter plus de serveurs \u00e0 votre pool backend pour g\u00e9rer la charge accrue.<\/li>\n\n\n\n<li><strong>Flexibilit\u00e9<\/strong>&nbsp;: Les \u00e9quilibreurs de charge vous permettent d&#8217;effectuer la maintenance sur les serveurs backend sans temps d&#8217;arr\u00eat en les retirant temporairement du pool.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-quest-ce-que-haproxy\">3. Qu&#8217;est-ce que HAProxy ?<\/h2>\n\n\n\n<p>HAProxy (High Availability Proxy) est une solution gratuite et open-source d&#8217;\u00e9quilibrage de charge et de proxying pour les applications bas\u00e9es sur TCP et HTTP. Il est connu pour sa rapidit\u00e9 et son efficacit\u00e9, capable de g\u00e9rer des millions de connexions par seconde.<\/p>\n\n\n\n<p>Les principales caract\u00e9ristiques de HAProxy incluent :<\/p>\n\n\n\n<ul>\n<li>\u00c9quilibrage de charge de couche 4 (TCP) et de couche 7 (HTTP)<\/li>\n\n\n\n<li>Terminaison SSL\/TLS<\/li>\n\n\n\n<li>V\u00e9rification de l&#8217;\u00e9tat des serveurs backend<\/li>\n\n\n\n<li>Journalisation et statistiques avanc\u00e9es<\/li>\n\n\n\n<li>Routage bas\u00e9 sur le contenu<\/li>\n\n\n\n<li>Limitation de d\u00e9bit et protection contre les DDoS<\/li>\n<\/ul>\n\n\n\n<p>Maintenant que nous comprenons les bases, passons \u00e0 la mise en \u0153uvre pratique.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4-mise-en-place-de-lenvironnement\">4. Mise en place de l&#8217;environnement<\/h2>\n\n\n\n<p>Pour ce tutoriel, nous supposons que vous travaillez avec Ubuntu 20.04 LTS. Vous aurez besoin de :<\/p>\n\n\n\n<ul>\n<li>Un serveur Ubuntu 20.04 avec acc\u00e8s root ou sudo<\/li>\n\n\n\n<li>Au moins deux serveurs web backend (nous utiliserons Apache dans ce tutoriel)<\/li>\n\n\n\n<li>Connaissance de base de la ligne de commande Linux<\/li>\n<\/ul>\n\n\n\n<p>Assurez-vous que votre syst\u00e8me est \u00e0 jour avant de continuer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt update\n$ sudo apt upgrade<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5-installation-de-haproxy\">5. Installation de HAProxy<\/h2>\n\n\n\n<p>L&#8217;installation de HAProxy sur Ubuntu est simple. Ex\u00e9cutez la commande suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install haproxy<\/code><\/pre>\n\n\n\n<p>Une fois l&#8217;installation termin\u00e9e, vous pouvez v\u00e9rifier la version install\u00e9e :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ haproxy -v<\/code><\/pre>\n\n\n\n<p>Vous devriez voir une sortie similaire \u00e0 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">HAProxy version 2.4.24-0ubuntu0.22.04.1 2023\/10\/31<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"6-configuration-de-haproxy\">6. Configuration de HAProxy<\/h2>\n\n\n\n<p>Le fichier de configuration principal de HAProxy se trouve \u00e0&nbsp;<code>\/etc\/haproxy\/haproxy.cfg<\/code>. Avant d&#8217;apporter des modifications, il est recommand\u00e9 de sauvegarder la configuration originale :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo cp \/etc\/haproxy\/haproxy.cfg \/etc\/haproxy\/haproxy.cfg.bak<\/code><\/pre>\n\n\n\n<p>Maintenant, cr\u00e9ons une configuration de base. Ouvrez le fichier avec votre \u00e9diteur de texte pr\u00e9f\u00e9r\u00e9 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/haproxy\/haproxy.cfg<\/code><\/pre>\n\n\n\n<p>Remplacez le contenu par la configuration de base suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">global\n    log \/dev\/log local0\n    log \/dev\/log local1 notice\n    chroot \/var\/lib\/haproxy\n    stats socket \/run\/haproxy\/admin.sock mode 660 level admin expose-fd listeners\n    stats timeout 30s\n    user haproxy\n    group haproxy\n    daemon\n\ndefaults\n    log global\n    mode http\n    option httplog\n    option dontlognull\n    timeout connect 5000\n    timeout client  50000\n    timeout server  50000\n\nfrontend http_front\n    bind *:80\n    stats uri \/haproxy?stats\n    default_backend http_back\n\nbackend http_back\n    balance roundrobin\n    server web1 10.0.0.1:80 check\n    server web2 10.0.0.2:80 check<\/code><\/pre>\n\n\n\n<p>Cette configuration met en place un \u00e9quilibreur de charge HTTP de base. Nous expliquerons chaque section en d\u00e9tail plus tard.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"7-configuration-des-serveurs-backend\">7. Configuration des serveurs backend<\/h2>\n\n\n\n<p>Pour ce tutoriel, nous supposerons que vous avez deux serveurs web ex\u00e9cutant Apache. Si vous ne les avez pas encore configur\u00e9s, vous pouvez le faire avec ces commandes sur chaque serveur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install apache2\n$ sudo systemctl start apache2\n$ sudo systemctl enable apache2<\/code><\/pre>\n\n\n\n<p>Pour diff\u00e9rencier les serveurs, vous pouvez personnaliser la page Apache par d\u00e9faut. Sur chaque serveur, modifiez le fichier&nbsp;<code>\/var\/www\/html\/index.html<\/code>&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/var\/www\/html\/index.html<\/code><\/pre>\n\n\n\n<p>Remplacez le contenu par un identifiant simple, comme :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\">&lt;h1&gt;Bienvenue sur le serveur Web 1&lt;\/h1&gt;<\/code><\/pre>\n\n\n\n<p>(Ajustez le num\u00e9ro pour chaque serveur)<\/p>\n\n\n\n<p>Assurez-vous de noter les adresses IP de vos serveurs backend et mettez \u00e0 jour le fichier&nbsp;<code>haproxy.cfg<\/code>&nbsp;en cons\u00e9quence dans la section&nbsp;<code>backend http_back<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8-explication-du-fichier-de-configuration-haproxy\">8. Explication du fichier de configuration HAProxy<\/h2>\n\n\n\n<p>D\u00e9composons le fichier de configuration HAProxy que nous avons cr\u00e9\u00e9 pr\u00e9c\u00e9demment :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"section-global\">Section Global<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">global\n    log \/dev\/log local0\n    log \/dev\/log local1 notice\n    chroot \/var\/lib\/haproxy\n    stats socket \/run\/haproxy\/admin.sock mode 660 level admin expose-fd listeners\n    stats timeout 30s\n    user haproxy\n    group haproxy\n    daemon<\/code><\/pre>\n\n\n\n<p>Cette section d\u00e9finit les param\u00e8tres globaux :<\/p>\n\n\n\n<ul>\n<li><code>log<\/code>&nbsp;: Sp\u00e9cifie o\u00f9 envoyer les logs<\/li>\n\n\n\n<li><code>chroot<\/code>&nbsp;: Change le r\u00e9pertoire racine pour am\u00e9liorer la s\u00e9curit\u00e9<\/li>\n\n\n\n<li><code>stats socket<\/code>&nbsp;: Cr\u00e9e un socket UNIX pour les commandes d&#8217;ex\u00e9cution<\/li>\n\n\n\n<li><code>user<\/code>&nbsp;et&nbsp;<code>group<\/code>&nbsp;: D\u00e9finit l&#8217;utilisateur et le groupe sous lesquels HAProxy s&#8217;ex\u00e9cute<\/li>\n\n\n\n<li><code>daemon<\/code>&nbsp;: Ex\u00e9cute HAProxy en arri\u00e8re-plan<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"section-defaults\">Section Defaults<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">defaults\n    log global\n    mode http\n    option httplog\n    option dontlognull\n    timeout connect 5000\n    timeout client  50000\n    timeout server  50000<\/code><\/pre>\n\n\n\n<p>Cette section d\u00e9finit les param\u00e8tres par d\u00e9faut pour toutes les autres sections :<\/p>\n\n\n\n<ul>\n<li><code>mode http<\/code>&nbsp;: D\u00e9finit le mode par d\u00e9faut sur l&#8217;\u00e9quilibrage de charge HTTP (couche 7)<\/li>\n\n\n\n<li><code>option httplog<\/code>&nbsp;: Active la journalisation HTTP<\/li>\n\n\n\n<li><code>option dontlognull<\/code>&nbsp;: D\u00e9sactive la journalisation des connexions nulles<\/li>\n\n\n\n<li><code>timeout<\/code>&nbsp;: D\u00e9finit diverses valeurs de d\u00e9lai d&#8217;attente<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"section-frontend\">Section Frontend<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">frontend http_front\n    bind *:80\n    stats uri \/haproxy?stats\n    default_backend http_back<\/code><\/pre>\n\n\n\n<p>Cette section d\u00e9finit comment les requ\u00eates doivent \u00eatre trait\u00e9es :<\/p>\n\n\n\n<ul>\n<li><code>bind *:80<\/code>&nbsp;: \u00c9coute sur toutes les interfaces sur le port 80<\/li>\n\n\n\n<li><code>stats uri<\/code>&nbsp;: Active la page de statistiques \u00e0 l&#8217;URI sp\u00e9cifi\u00e9<\/li>\n\n\n\n<li><code>default_backend<\/code>&nbsp;: Sp\u00e9cifie le backend par d\u00e9faut \u00e0 utiliser<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"section-backend\">Section Backend<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">backend http_back\n    balance roundrobin\n    server web1 10.0.0.1:80 check\n    server web2 10.0.0.2:80 check<\/code><\/pre>\n\n\n\n<p>Cette section d\u00e9finit les serveurs backend :<\/p>\n\n\n\n<ul>\n<li><code>balance roundrobin<\/code>&nbsp;: Utilise l&#8217;algorithme d&#8217;\u00e9quilibrage de charge round-robin<\/li>\n\n\n\n<li><code>server<\/code>&nbsp;: D\u00e9finit chaque serveur backend avec son IP et son port<\/li>\n\n\n\n<li><code>check<\/code>&nbsp;: Active les v\u00e9rifications de sant\u00e9 sur les serveurs<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"9-test-de-l%C3%A9quilibreur-de-charge\">9. Test de l&#8217;\u00e9quilibreur de charge<\/h2>\n\n\n\n<p>Apr\u00e8s avoir configur\u00e9 HAProxy, red\u00e9marrez le service :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo systemctl restart haproxy<\/code><\/pre>\n\n\n\n<p>Vous pouvez v\u00e9rifier le statut pour vous assurer qu&#8217;il fonctionne sans erreurs :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo systemctl status haproxy<\/code><\/pre>\n\n\n\n<p>Maintenant, vous pouvez tester votre \u00e9quilibreur de charge en y acc\u00e9dant via un navigateur web ou en utilisant curl :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ curl http:\/\/votre_ip_haproxy<\/code><\/pre>\n\n\n\n<p>R\u00e9p\u00e9tez cette commande plusieurs fois. Vous devriez voir des r\u00e9ponses alternant entre vos serveurs backend, d\u00e9montrant que l&#8217;\u00e9quilibreur de charge fonctionne.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"10-surveillance-et-statistiques\">10. Surveillance et statistiques<\/h2>\n\n\n\n<p>HAProxy fournit une page de statistiques int\u00e9gr\u00e9e qui offre des informations pr\u00e9cieuses sur votre configuration d&#8217;\u00e9quilibrage de charge. Nous l&#8217;avons d\u00e9j\u00e0 activ\u00e9e dans notre configuration avec la ligne :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">stats uri \/haproxy?stats<\/code><\/pre>\n\n\n\n<p>Pour acc\u00e9der \u00e0 la page de statistiques, ouvrez un navigateur web et naviguez vers :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">http:\/\/votre_ip_haproxy\/haproxy?stats<\/code><\/pre>\n\n\n\n<p>Cette page fournit des informations en temps r\u00e9el sur vos serveurs frontend et backend, y compris :<\/p>\n\n\n\n<ul>\n<li>Statut du serveur (UP\/DOWN)<\/li>\n\n\n\n<li>Sessions actuelles<\/li>\n\n\n\n<li>Octets entrants\/sortants<\/li>\n\n\n\n<li>Taux de requ\u00eates<\/li>\n\n\n\n<li>Temps de r\u00e9ponse<\/li>\n<\/ul>\n\n\n\n<p>Vous pouvez utiliser ces informations pour surveiller la sant\u00e9 et les performances de votre configuration d&#8217;\u00e9quilibrage de charge.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"11-fonctionnalit%C3%A9s-avanc%C3%A9es-de-haproxy\">11. Fonctionnalit\u00e9s avanc\u00e9es de HAProxy<\/h2>\n\n\n\n<p>HAProxy offre de nombreuses fonctionnalit\u00e9s avanc\u00e9es pour affiner votre configuration d&#8217;\u00e9quilibrage de charge. En voici quelques-unes que vous pourriez trouver utiles :<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"terminaison-ssl\">Terminaison SSL<\/h3>\n\n\n\n<p>Pour g\u00e9rer le trafic HTTPS, vous pouvez configurer HAProxy pour effectuer la terminaison SSL. Cela d\u00e9charge le traitement SSL de vos serveurs backend. Voici un exemple de configuration :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">frontend https_front\n    bind *:443 ssl crt \/etc\/ssl\/certs\/moncert.pem\n    reqadd X-Forwarded-Proto:\\ https\n    default_backend http_back<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sessions-persistantes\">Sessions persistantes<\/h3>\n\n\n\n<p>Si votre application n\u00e9cessite une persistance de session, vous pouvez activer les sessions persistantes :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">backend http_back\n    balance roundrobin\n    cookie SERVERID insert indirect nocache\n    server web1 10.0.0.1:80 check cookie server1\n    server web2 10.0.0.2:80 check cookie server2<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"v%C3%A9rifications-de-sant%C3%A9\">V\u00e9rifications de sant\u00e9<\/h3>\n\n\n\n<p>HAProxy peut effectuer des v\u00e9rifications de sant\u00e9 plus avanc\u00e9es. Par exemple, pour v\u00e9rifier si une URL sp\u00e9cifique renvoie un statut 200 :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">backend http_back\n    balance roundrobin\n    option httpchk GET \/health.php\n    http-check expect status 200\n    server web1 10.0.0.1:80 check\n    server web2 10.0.0.2:80 check<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"limitation-de-d%C3%A9bit\">Limitation de d\u00e9bit<\/h3>\n\n\n\n<p>Pour prot\u00e9ger vos serveurs contre les abus, vous pouvez mettre en place une limitation de d\u00e9bit :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">frontend http_front\n    bind *:80\n    stick-table type ip size 100k expire 30s store http_req_rate(10s)\n    http-request track-sc0 src\n    http-request deny deny_status 429 if { sc_http_req_rate(0) gt 100 }\n    default_backend http_back<\/code><\/pre>\n\n\n\n<p>Cette configuration limite chaque IP \u00e0 100 requ\u00eates par 10 secondes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"12-r%C3%A9solution-des-probl%C3%A8mes-courants\">12. R\u00e9solution des probl\u00e8mes courants<\/h2>\n\n\n\n<p>Lorsque vous travaillez avec HAProxy, vous pouvez rencontrer certains probl\u00e8mes courants. Voici comment les r\u00e9soudre :<\/p>\n\n\n\n<ol>\n<li><strong>Erreurs de configuration<\/strong>&nbsp;: V\u00e9rifiez toujours votre configuration pour les erreurs de syntaxe avant de red\u00e9marrer HAProxy :<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ haproxy -c -f \/etc\/haproxy\/haproxy.cfg<\/code><\/pre>\n\n\n\n<ol start=\"2\">\n<li><strong>Serveurs backend hors service<\/strong>&nbsp;: V\u00e9rifiez la page de statistiques HAProxy pour voir si des serveurs backend sont marqu\u00e9s comme DOWN. V\u00e9rifiez que vos serveurs backend sont en cours d&#8217;ex\u00e9cution et accessibles.<\/li>\n\n\n\n<li><strong>Probl\u00e8mes de connectivit\u00e9<\/strong>&nbsp;: Assurez-vous que HAProxy peut atteindre vos serveurs backend. V\u00e9rifiez les r\u00e8gles de pare-feu et les configurations r\u00e9seau.<\/li>\n\n\n\n<li><strong>Probl\u00e8mes de certificat SSL<\/strong>&nbsp;: Si vous utilisez la terminaison SSL, assurez-vous que vos certificats sont valides et correctement configur\u00e9s.<\/li>\n\n\n\n<li><strong>Journalisation<\/strong>&nbsp;: Activez la journalisation d\u00e9taill\u00e9e pour r\u00e9soudre les probl\u00e8mes :<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">global\n    log \/dev\/log local0 debug<\/code><\/pre>\n\n\n\n<p>Puis v\u00e9rifiez les logs :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo tail -f \/var\/log\/haproxy.log<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"13-meilleures-pratiques-et-consid%C3%A9rations-de-s%C3%A9curit%C3%A9\">13. Meilleures pratiques et consid\u00e9rations de s\u00e9curit\u00e9<\/h2>\n\n\n\n<p>Pour assurer des performances optimales et la s\u00e9curit\u00e9 de votre configuration HAProxy, consid\u00e9rez les meilleures pratiques suivantes :<\/p>\n\n\n\n<ol>\n<li><strong>Mises \u00e0 jour r\u00e9guli\u00e8res<\/strong>&nbsp;: Gardez HAProxy et vos serveurs backend \u00e0 jour avec les derniers correctifs de s\u00e9curit\u00e9.<\/li>\n\n\n\n<li><strong>Communication s\u00e9curis\u00e9e<\/strong>&nbsp;: Utilisez SSL\/TLS pour toutes les communications, y compris entre HAProxy et les serveurs backend.<\/li>\n\n\n\n<li><strong>Contr\u00f4le d&#8217;acc\u00e8s<\/strong>&nbsp;: Mettez en place une liste blanche IP ou une authentification pour les zones sensibles comme la page de statistiques.<\/li>\n\n\n\n<li><strong>Surveillance<\/strong>&nbsp;: Mettez en place une surveillance et des alertes pour HAProxy et vos serveurs backend.<\/li>\n\n\n\n<li><strong>Sauvegarde de la configuration<\/strong>&nbsp;: Sauvegardez r\u00e9guli\u00e8rement votre fichier de configuration HAProxy.<\/li>\n\n\n\n<li><strong>Limitation de d\u00e9bit<\/strong>&nbsp;: Mettez en place une limitation de d\u00e9bit pour vous prot\u00e9ger contre les attaques DDoS.<\/li>\n\n\n\n<li><strong>Journalisation<\/strong>&nbsp;: Configurez une journalisation compl\u00e8te pour le d\u00e9pannage et l&#8217;analyse de s\u00e9curit\u00e9.<\/li>\n\n\n\n<li><strong>Utilisateur s\u00e9par\u00e9<\/strong>&nbsp;: Ex\u00e9cutez HAProxy sous un utilisateur s\u00e9par\u00e9, non-root, pour une meilleure s\u00e9curit\u00e9.<\/li>\n\n\n\n<li><strong>TCP Keepalives<\/strong>&nbsp;: Activez les TCP keepalives pour d\u00e9tecter et supprimer les connexions mortes :<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">option tcpka<\/code><\/pre>\n\n\n\n<ol start=\"10\">\n<li><strong>Tests r\u00e9guliers<\/strong>&nbsp;: Testez p\u00e9riodiquement votre configuration d&#8217;\u00e9quilibrage de charge, y compris les sc\u00e9narios de basculement.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"14-conclusion\">14. Conclusion<\/h2>\n\n\n\n<p>Dans ce tutoriel complet, nous avons couvert les \u00e9l\u00e9ments essentiels de la mise en place et de la configuration de HAProxy comme \u00e9quilibreur de charge sur Ubuntu. Nous avons explor\u00e9 les configurations de base et avanc\u00e9es, les techniques de d\u00e9pannage et les meilleures pratiques pour maintenir une solution d&#8217;\u00e9quilibrage de charge robuste et s\u00e9curis\u00e9e.<\/p>\n\n\n\n<p>La flexibilit\u00e9 et les puissantes fonctionnalit\u00e9s de HAProxy en font un excellent choix pour am\u00e9liorer les performances, la fiabilit\u00e9 et l&#8217;\u00e9volutivit\u00e9 de vos applications web. \u00c0 mesure que vous vous familiariserez avec HAProxy, vous d\u00e9couvrirez encore plus de fa\u00e7ons d&#8217;optimiser votre infrastructure pour r\u00e9pondre \u00e0 vos besoins sp\u00e9cifiques.<\/p>\n\n\n\n<p>N&#8217;oubliez pas que l&#8217;\u00e9quilibrage de charge n&#8217;est qu&#8217;une partie de la construction d&#8217;une application web \u00e9volutive et r\u00e9siliente. Envisagez de combiner HAProxy avec d&#8217;autres outils et pratiques, tels que la conteneurisation, les d\u00e9ploiements automatis\u00e9s et une surveillance compl\u00e8te, pour cr\u00e9er une infrastructure web vraiment robuste et efficace.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction Dans le paysage num\u00e9rique d&#8217;aujourd&#8217;hui, assurer une haute disponibilit\u00e9 et des performances optimales des applications web est crucial. \u00c0 mesure que le trafic vers votre site web ou votre application augmente, un seul serveur peut ne pas suffire pour g\u00e9rer efficacement la charge. C&#8217;est l\u00e0 qu&#8217;intervient l&#8217;\u00e9quilibrage de charge, et HAProxy se distingue ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/\" title=\"read more...\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[41,186],"tags":[],"yoast_head":"\n<title>\u00c9quilibrage de charge avec HAProxy sur Ubuntu - WebHi Tutorials &amp; Documentations<\/title>\n<meta name=\"description\" content=\"Mettre en place et \u00e0 configurer HAProxy sur Ubuntu pour un \u00e9quilibrage de charge efficace. Ce guide couvre l&#039;installation, la configuration et les techniques d&#039;optimisation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00c9quilibrage de charge avec HAProxy sur Ubuntu - WebHi Tutorials &amp; Documentations\" \/>\n<meta property=\"og:description\" content=\"Mettre en place et \u00e0 configurer HAProxy sur Ubuntu pour un \u00e9quilibrage de charge efficace. Ce guide couvre l&#039;installation, la configuration et les techniques d&#039;optimisation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/\" \/>\n<meta property=\"og:site_name\" content=\"WebHi Tutorials &amp; Documentations\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webhi.technology\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-04T16:03:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-04T16:03:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/09\/haproxy_loadbalance_fr.jpg\" \/>\n<meta name=\"author\" content=\"webhi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@WebHiTechnology\" \/>\n<meta name=\"twitter:site\" content=\"@WebHiTechnology\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"webhi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/\"},\"author\":{\"name\":\"webhi\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/b31e76e2311cdc0bb90f5e2733059a54\"},\"headline\":\"\u00c9quilibrage de charge avec HAProxy sur Ubuntu\",\"datePublished\":\"2024-09-04T16:03:33+00:00\",\"dateModified\":\"2024-09-04T16:03:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/\"},\"wordCount\":1716,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/#organization\"},\"articleSection\":[\"Serveurs web\",\"Virtualisation et informatique en nuage\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/\",\"url\":\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/\",\"name\":\"\u00c9quilibrage de charge avec HAProxy sur Ubuntu - WebHi Tutorials &amp; Documentations\",\"isPartOf\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/#website\"},\"datePublished\":\"2024-09-04T16:03:33+00:00\",\"dateModified\":\"2024-09-04T16:03:35+00:00\",\"description\":\"Mettre en place et \u00e0 configurer HAProxy sur Ubuntu pour un \u00e9quilibrage de charge efficace. Ce guide couvre l'installation, la configuration et les techniques d'optimisation.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webhi.com\/how-to\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00c9quilibrage de charge avec HAProxy sur Ubuntu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#website\",\"url\":\"https:\/\/www.webhi.com\/how-to\/\",\"name\":\"WebHi Tutorials &amp; Documentations\",\"description\":\"System administration and knowledge base\",\"publisher\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webhi.com\/how-to\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#organization\",\"name\":\"WebHi Technology\",\"url\":\"https:\/\/www.webhi.com\/how-to\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2022\/07\/logo.png\",\"contentUrl\":\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2022\/07\/logo.png\",\"width\":288,\"height\":95,\"caption\":\"WebHi Technology\"},\"image\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webhi.technology\",\"https:\/\/twitter.com\/WebHiTechnology\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/b31e76e2311cdc0bb90f5e2733059a54\",\"name\":\"webhi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.webhi.com\/how-to\/ahuphiph\/litespeed\/avatar\/e20da107d0f4c765ead2eef88ad019d8.jpg?ver=1780005063\",\"contentUrl\":\"https:\/\/www.webhi.com\/how-to\/ahuphiph\/litespeed\/avatar\/e20da107d0f4c765ead2eef88ad019d8.jpg?ver=1780005063\",\"caption\":\"webhi\"},\"sameAs\":[\"https:\/\/www.webhi.com\/how-to\"],\"url\":\"https:\/\/www.webhi.com\/how-to\/author\/webhi\/\"}]}<\/script>\n","yoast_head_json":{"title":"\u00c9quilibrage de charge avec HAProxy sur Ubuntu - WebHi Tutorials &amp; Documentations","description":"Mettre en place et \u00e0 configurer HAProxy sur Ubuntu pour un \u00e9quilibrage de charge efficace. Ce guide couvre l'installation, la configuration et les techniques d'optimisation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/","og_locale":"en_US","og_type":"article","og_title":"\u00c9quilibrage de charge avec HAProxy sur Ubuntu - WebHi Tutorials &amp; Documentations","og_description":"Mettre en place et \u00e0 configurer HAProxy sur Ubuntu pour un \u00e9quilibrage de charge efficace. Ce guide couvre l'installation, la configuration et les techniques d'optimisation.","og_url":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/","og_site_name":"WebHi Tutorials &amp; Documentations","article_publisher":"https:\/\/www.facebook.com\/webhi.technology","article_published_time":"2024-09-04T16:03:33+00:00","article_modified_time":"2024-09-04T16:03:35+00:00","og_image":[{"url":"https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/09\/haproxy_loadbalance_fr.jpg"}],"author":"webhi","twitter_card":"summary_large_image","twitter_creator":"@WebHiTechnology","twitter_site":"@WebHiTechnology","twitter_misc":{"Written by":"webhi","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/#article","isPartOf":{"@id":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/"},"author":{"name":"webhi","@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/b31e76e2311cdc0bb90f5e2733059a54"},"headline":"\u00c9quilibrage de charge avec HAProxy sur Ubuntu","datePublished":"2024-09-04T16:03:33+00:00","dateModified":"2024-09-04T16:03:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/"},"wordCount":1716,"commentCount":0,"publisher":{"@id":"https:\/\/www.webhi.com\/how-to\/#organization"},"articleSection":["Serveurs web","Virtualisation et informatique en nuage"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/","url":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/","name":"\u00c9quilibrage de charge avec HAProxy sur Ubuntu - WebHi Tutorials &amp; Documentations","isPartOf":{"@id":"https:\/\/www.webhi.com\/how-to\/#website"},"datePublished":"2024-09-04T16:03:33+00:00","dateModified":"2024-09-04T16:03:35+00:00","description":"Mettre en place et \u00e0 configurer HAProxy sur Ubuntu pour un \u00e9quilibrage de charge efficace. Ce guide couvre l'installation, la configuration et les techniques d'optimisation.","breadcrumb":{"@id":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.webhi.com\/how-to\/fr\/equilibrage-de-charge-load-balance-haproxy-linux-ubuntu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webhi.com\/how-to\/"},{"@type":"ListItem","position":2,"name":"\u00c9quilibrage de charge avec HAProxy sur Ubuntu"}]},{"@type":"WebSite","@id":"https:\/\/www.webhi.com\/how-to\/#website","url":"https:\/\/www.webhi.com\/how-to\/","name":"WebHi Tutorials &amp; Documentations","description":"System administration and knowledge base","publisher":{"@id":"https:\/\/www.webhi.com\/how-to\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webhi.com\/how-to\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webhi.com\/how-to\/#organization","name":"WebHi Technology","url":"https:\/\/www.webhi.com\/how-to\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/logo\/image\/","url":"https:\/\/www.webhi.com\/how-to\/gilrogre\/2022\/07\/logo.png","contentUrl":"https:\/\/www.webhi.com\/how-to\/gilrogre\/2022\/07\/logo.png","width":288,"height":95,"caption":"WebHi Technology"},"image":{"@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webhi.technology","https:\/\/twitter.com\/WebHiTechnology"]},{"@type":"Person","@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/b31e76e2311cdc0bb90f5e2733059a54","name":"webhi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/image\/","url":"https:\/\/www.webhi.com\/how-to\/ahuphiph\/litespeed\/avatar\/e20da107d0f4c765ead2eef88ad019d8.jpg?ver=1780005063","contentUrl":"https:\/\/www.webhi.com\/how-to\/ahuphiph\/litespeed\/avatar\/e20da107d0f4c765ead2eef88ad019d8.jpg?ver=1780005063","caption":"webhi"},"sameAs":["https:\/\/www.webhi.com\/how-to"],"url":"https:\/\/www.webhi.com\/how-to\/author\/webhi\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/posts\/9219"}],"collection":[{"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/comments?post=9219"}],"version-history":[{"count":3,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/posts\/9219\/revisions"}],"predecessor-version":[{"id":9233,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/posts\/9219\/revisions\/9233"}],"wp:attachment":[{"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/media?parent=9219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/categories?post=9219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/tags?post=9219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}