[{"data":1,"prerenderedAt":180},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-avec-haproxy-vps-ma-fr":6,"promo-bar-likely":179},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-deployer-avec-haproxy-vps-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":35,"sections":36,"ctaTitle":123,"ctaBody":124,"ctaButton":125,"ctaUrl":126,"relatedPosts":127},142,"deployer-avec-haproxy-vps",{"fr":10,"en":12,"ar":13,"es":14},"haproxy-on-a-vps-load-balancing-and-high-availability","haproxy-على-خادم-vps-موازنة-الأحمال-والتوافر-العالي","haproxy-en-un-vps-balanceo-de-carga","HAProxy sur VPS : load balancing et haute disponibilité","Installez HAProxy sur VPS pour répartir le trafic, surveiller les backends et préparer une architecture web plus résiliente.",8,1,false,"2026-02-03T00:00:00+00:00","2026-10-13T14:10:29+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},3,"Déploiement","deploiement","bg-success\u002F10 text-success",[28],{"id":23,"name":24,"slug":25,"color":26,"icon":25},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-avec-haproxy-vps-poster.svg",{"categorySlug":33,"appSlug":34},"infra","haproxy","HAProxy est le standard de facto pour le load balancing et la haute disponibilité sur serveur Linux. Sur un VPS ServOrbit, il s'installe en quelques minutes via le Marketplace et se configure entièrement depuis le fichier `\u002Fetc\u002Fhaproxy\u002Fhaproxy.cfg`. Ce guide approfondi couvre la configuration complète — frontend\u002Fbackend, ACL, terminaison SSL\u002FTLS, health checks, page de statistiques et dépannage des erreurs les plus fréquentes — pour que votre infrastructure soit prête pour la production.",[37,41,51,79,82,106,109,117,120],{"type":38,"title":39,"body":40},"h2","Pourquoi héberger HAProxy sur un VPS dédié ?","HAProxy (High Availability Proxy) est un logiciel open source de répartition de charge et de proxy TCP\u002FHTTP reconnu pour ses performances en production. L'héberger sur un VPS dédié vous permet de centraliser la distribution du trafic entre vos serveurs applicatifs, d'assurer la continuité de service en cas de panne d'un nœud, et de gérer finement les règles de routage sans frais de licence. Sur un seul VPS 2 vCPU \u002F 2 Go RAM, HAProxy traite sans effort plusieurs milliers de connexions simultanées. C'est la solution privilégiée des équipes techniques qui veulent une infrastructure robuste et maîtrisée à coût contrôlé.",{"type":42,"title":43,"items":44},"ul","Ce que vous pouvez faire avec HAProxy",[45,46,47,48,49,50],"Répartir le trafic HTTP\u002FHTTPS entre plusieurs serveurs applicatifs avec des algorithmes configurables (roundrobin, leastconn, source…)","Mettre en place un reverse proxy pour exposer plusieurs services internes derrière une seule adresse IP publique","Surveiller la santé de vos backends avec des health checks automatiques et exclure un serveur défaillant sans interruption de service","Terminer les connexions SSL\u002FTLS en frontal (offloading) pour décharger vos serveurs applicatifs du chiffrement","Router le trafic par domaine ou par chemin grâce aux ACL (host_hdr, path_beg) sur un seul port 443","Consulter les statistiques de trafic en temps réel via l'interface web intégrée de HAProxy (stats uri \u002Fstats)",{"type":52,"title":53,"steps":54},"steps","Installer et configurer HAProxy sur votre VPS ServOrbit",[55,58,61,64,67,70,73,76],{"title":56,"body":57},"Commander un VPS Cloud ServOrbit et lancer l'installation","Rendez-vous sur \u002Fvps-cloud et choisissez une offre avec au moins 2 vCPU et 2 Go de RAM. Depuis le tableau de bord de votre VPS, ouvrez le Marketplace, recherchez « HAProxy » et cliquez sur Installer. Le provisioning automatique de ServOrbit installe HAProxy via apt et active le service — aucune connexion SSH requise à cette étape. Vous pouvez également installer manuellement : `sudo apt update && sudo apt install -y haproxy`",{"title":59,"body":60},"Comprendre la structure du fichier haproxy.cfg","Le fichier de configuration principal se trouve dans `\u002Fetc\u002Fhaproxy\u002Fhaproxy.cfg`. Il est organisé en quatre sections : `global` (processus, logs, limites système), `defaults` (timeouts et modes hérités), `frontend` (ports d'écoute, règles ACL) et `backend` (serveurs cibles, algorithme, health checks). Éditez-le avec : `sudo nano \u002Fetc\u002Fhaproxy\u002Fhaproxy.cfg`",{"title":62,"body":63},"Configurer un frontend HTTP\u002FHTTPS et un backend complet","Voici une configuration complète pour deux serveurs applicatifs avec terminaison SSL :\n\n```\nglobal\n    log \u002Fdev\u002Flog local0\n    maxconn 50000\n    user haproxy\n    group haproxy\n\ndefaults\n    log     global\n    mode    http\n    option  httplog\n    timeout connect 5s\n    timeout client  30s\n    timeout server  30s\n\nfrontend http_front\n    bind *:80\n    redirect scheme https code 301\n\nfrontend https_front\n    bind *:443 ssl crt \u002Fetc\u002Fhaproxy\u002Fcerts\u002Fbundle.pem\n    default_backend app_servers\n\nbackend app_servers\n    balance roundrobin\n    option httpchk GET \u002Fhealth\n    server app1 192.168.1.10:3000 check weight 1 inter 2s fall 3 rise 2\n    server app2 192.168.1.11:3000 check weight 2 inter 2s fall 3 rise 2\n```\n\nLe paramètre `weight` permet d'envoyer proportionnellement plus de trafic vers app2 (plus puissante). La directive `option httpchk GET \u002Fhealth` envoie une requête HTTP sur l'endpoint `\u002Fhealth` de chaque backend pour vérifier qu'il répond correctement.",{"title":65,"body":66},"Configurer les ACL pour le routage par domaine et par chemin","Les ACL permettent de router le trafic vers différents backends selon le nom de domaine ou le chemin de la requête. Ajoutez dans votre frontend :\n\n```\nfrontend https_front\n    bind *:443 ssl crt \u002Fetc\u002Fhaproxy\u002Fcerts\u002Fbundle.pem\n\n    acl host_api   hdr(host) -i api.monsite.com\n    acl host_app   hdr(host) -i app.monsite.com\n    acl path_admin path_beg  \u002Fadmin\n\n    use_backend api_servers  if host_api\n    use_backend admin_servers if path_admin\n    use_backend app_servers  if host_app\n    default_backend app_servers\n```\n\nLa directive `hdr(host)` inspecte l'en-tête HTTP Host pour identifier le domaine. `path_beg \u002Fadmin` route toutes les requêtes dont le chemin commence par `\u002Fadmin` vers un backend dédié.",{"title":68,"body":69},"Terminer SSL\u002FTLS avec Let's Encrypt et créer le bundle PEM","HAProxy attend un fichier `.pem` qui contient le certificat, la chaîne intermédiaire et la clé privée dans cet ordre. Après avoir obtenu votre certificat avec Certbot, créez le bundle :\n\n```\nsudo mkdir -p \u002Fetc\u002Fhaproxy\u002Fcerts\nsudo cat \u002Fetc\u002Fletsencrypt\u002Flive\u002Fmonsite.com\u002Ffullchain.pem \\\n         \u002Fetc\u002Fletsencrypt\u002Flive\u002Fmonsite.com\u002Fprivkey.pem \\\n  | sudo tee \u002Fetc\u002Fhaproxy\u002Fcerts\u002Fbundle.pem\nsudo chmod 600 \u002Fetc\u002Fhaproxy\u002Fcerts\u002Fbundle.pem\n```\n\nPour automatiser le renouvellement, ajoutez dans `\u002Fetc\u002Fletsencrypt\u002Frenewal-hooks\u002Fpost\u002Fhaproxy.sh` :\n\n```\n#!\u002Fbin\u002Fbash\ncat \u002Fetc\u002Fletsencrypt\u002Flive\u002Fmonsite.com\u002Ffullchain.pem \\\n    \u002Fetc\u002Fletsencrypt\u002Flive\u002Fmonsite.com\u002Fprivkey.pem \\\n  > \u002Fetc\u002Fhaproxy\u002Fcerts\u002Fbundle.pem\nsystemctl reload haproxy\n```\n\nRendez ce script exécutable : `sudo chmod +x \u002Fetc\u002Fletsencrypt\u002Frenewal-hooks\u002Fpost\u002Fhaproxy.sh`",{"title":71,"body":72},"Activer la page de statistiques HAProxy","La page de statistiques intégrée donne une vue en temps réel de l'état de chaque frontend, backend et serveur. Ajoutez un bloc frontend dédié :\n\n```\nfrontend stats\n    bind *:8404\n    stats enable\n    stats uri \u002Fstats\n    stats refresh 10s\n    stats auth admin:MotDePasseSecret\n    stats hide-version\n```\n\nAccédez ensuite à `http:\u002F\u002Fvotre-ip:8404\u002Fstats`. Le champ `stats auth` protège la page par authentification HTTP Basic. `stats hide-version` masque la version de HAProxy pour limiter l'exposition aux CVE publiées.",{"title":74,"body":75},"Valider la configuration et recharger sans interruption","Avant tout rechargement, validez la syntaxe du fichier de configuration :\n\n```\nsudo haproxy -c -f \u002Fetc\u002Fhaproxy\u002Fhaproxy.cfg\n```\n\nSi la commande affiche `Configuration file is valid`, rechargez HAProxy sans couper les connexions actives :\n\n```\nsudo systemctl reload haproxy\n```\n\nVérifiez que le service est actif : `sudo systemctl status haproxy`. La commande `reload` (pas `restart`) garantit un rechargement graceful : les connexions établies se terminent normalement avant que les anciens workers s'arrêtent.",{"title":77,"body":78},"Vérifier les logs et surveiller en continu","HAProxy envoie ses logs vers syslog. Consultez-les en temps réel :\n\n```\nsudo journalctl -u haproxy -f\n```\n\nOu dans `\u002Fvar\u002Flog\u002Fsyslog` : `sudo tail -f \u002Fvar\u002Flog\u002Fsyslog | grep haproxy`. Chaque ligne indique le frontend, le backend, le serveur sélectionné, le code HTTP et les temps de connexion — indispensable pour diagnostiquer un problème de routage ou un backend lent.",{"type":38,"title":80,"body":81},"Health checks avancés : détecter les backends défaillants","La directive `check` sur chaque ligne `server` active les health checks. Par défaut, HAProxy ouvre une connexion TCP pour vérifier que le port répond. Pour aller plus loin, `option httpchk GET \u002Fhealth` envoie une vraie requête HTTP et attend un code 2xx. Les paramètres `inter 2s fall 3 rise 2` signifient : vérifier toutes les 2 secondes, retirer le serveur après 3 échecs consécutifs, le réintégrer après 2 succès. Cette combinaison garantit qu'un backend en erreur est exclu du pool en 6 secondes maximum, et qu'un backend rétabli ne reçoit du trafic qu'après confirmation de sa stabilité. Ajoutez également `option redispatch` pour que HAProxy retente les requêtes échouées sur un autre serveur du pool — essentiel pour la transparence des pannes côté utilisateur.",{"type":83,"title":84,"headers":85,"rows":89},"comparison","Algorithmes de répartition de charge : lequel choisir ?",[86,87,88],"Algorithme","Comportement","Idéal pour",[90,94,98,102],[91,92,93],"roundrobin","Distribue les requêtes tour à tour entre les serveurs. Support du paramètre weight pour pondérer la distribution.","Backends à capacités équivalentes",[95,96,97],"leastconn","Envoie chaque nouvelle requête au serveur avec le moins de connexions actives.","Connexions longues (WebSocket, bases de données)",[99,100,101],"source","Hache l'IP source pour session persistence sans cookie. N'évolue pas si les sessions peuvent être partagées.","Sessions non partageables entre backends",[103,104,105],"uri","Hache l'URI de la requête pour router toujours vers le même backend.","Caches applicatifs où la localité des données compte",{"type":38,"title":107,"body":108},"Dépannage : erreurs courantes et solutions","Voici les cinq erreurs les plus fréquentes lors de la configuration ou du rechargement de HAProxy, avec leur cause et la marche à suivre pour les corriger.",{"type":42,"title":110,"items":111},"Erreurs fréquentes et comment les résoudre",[112,113,114,115,116],"**`[ALERT] Starting frontend http_front: cannot bind socket [0.0.0.0:80]`** — Le port 80 est déjà occupé par un autre processus (nginx, apache2). Identifiez-le avec `sudo ss -tlnp | grep ':80'`, arrêtez le service concurrent (`sudo systemctl stop nginx`) puis rechargez HAProxy.","**`[WARNING] Server app_servers\u002Fapp1 is DOWN, reason: Layer4 connection problem`** — HAProxy ne peut pas joindre l'adresse IP ou le port du backend. Vérifiez que le serveur applicatif est démarré, que son pare-feu autorise les connexions depuis l'IP du VPS HAProxy, et que l'adresse dans `haproxy.cfg` est correcte.","**`[ALERT] parsing [\u002Fetc\u002Fhaproxy\u002Fhaproxy.cfg:42] : unknown keyword 'serveur'`** — Erreur de syntaxe dans le fichier de configuration. La commande `haproxy -c -f \u002Fetc\u002Fhaproxy\u002Fhaproxy.cfg` indique le numéro de ligne exact. Les mots-clés HAProxy sont en anglais : `server`, `frontend`, `backend`. Vérifiez aussi les tabulations (HAProxy n'accepte que des espaces).","**`[ALERT] ssl library has no cert for frontend https_front`** ou erreur `certificate expired`** — Le fichier bundle.pem est absent, vide ou contient un certificat expiré. Recréez le bundle depuis les fichiers Let's Encrypt à jour (`fullchain.pem` + `privkey.pem`) puis rechargez.","**Page de statistiques retourne HTTP 403** — La directive `stats auth` est configurée mais les identifiants ne sont pas transmis, ou l'IP source n'est pas dans une liste blanche `stats allow-from`. Vérifiez l'URL (`\u002Fstats` par défaut), les identifiants, et ajoutez `stats allow-from 0.0.0.0\u002F0` temporairement pour diagnostiquer.",{"type":118,"body":119},"tip","Conseil : après chaque modification de `haproxy.cfg`, exécutez toujours `sudo haproxy -c -f \u002Fetc\u002Fhaproxy\u002Fhaproxy.cfg` avant `systemctl reload`. Cette validation syntaxique prend moins d'une seconde et évite une interruption de service si le fichier contient une erreur. En production, coupler ce test à un script de déploiement automatisé garantit qu'aucune configuration invalide n'atteint le service.",{"type":118,"title":121,"body":122},"Pour aller plus loin","La \u003Ca href=\"https:\u002F\u002Fdocs.haproxy.org\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">documentation officielle de HAProxy\u003C\u002Fa> détaille l'ensemble des directives, les options TCP avancées, le support QUIC\u002FHTTP3 (HAProxy 2.6+) et la configuration haute disponibilité avec Keepalived pour un failover d'IP virtuelle entre deux instances HAProxy. Ce guide couvre la mise en ligne sur VPS ServOrbit ; la documentation éditeur reste la référence pour les réglages fins.","Déployez HAProxy en quelques minutes sur un VPS Cloud ServOrbit","Lancez votre VPS Cloud ServOrbit dès maintenant et installez HAProxy en 1 clic via le Marketplace — infrastructure professionnelle, sans complexité.","Lancer mon VPS Cloud","\u002Fvps-cloud",[128,144,161],{"id":129,"slug":130,"slugs":131,"title":135,"excerpt":136,"readTime":137,"views":23,"isPinned":19,"noindex":19,"publishedAt":138,"updatedAt":139,"category":140,"categories":141,"featuredImage":29,"bgImage":30,"posterImage":143,"relatedSolution":29},38,"deployer-avec-traefik",{"fr":130,"en":132,"ar":133,"es":134},"deploy-your-applications-with-traefik-on-a-vps","انشر-تطبيقاتك-باستخدام-traefik-على-خادم-vps","desplegar-con-traefik","Déployer vos applications avec Traefik sur un VPS","Déployez Traefik en reverse proxy sur votre VPS : routage automatique des conteneurs Docker, certificats SSL Let's Encrypt et load balancing.",11,"2026-05-13T00:00:00+00:00","2026-11-08T01:13:13+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[142],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-traefik-poster.svg",{"id":145,"slug":146,"slugs":147,"title":151,"excerpt":152,"readTime":153,"views":154,"isPinned":19,"noindex":19,"publishedAt":155,"updatedAt":156,"category":157,"categories":158,"featuredImage":29,"bgImage":30,"posterImage":160,"relatedSolution":29},37,"deployer-avec-nginx-proxy-manager",{"fr":146,"en":148,"ar":149,"es":150},"deploy-your-applications-with-nginx-proxy-manager-on-a-vps","انشر-تطبيقاتك-باستخدام-nginx-proxy-manager-على-خادم-vps","desplegar-con-nginx-proxy-manager","Déployer vos applications avec Nginx Proxy Manager sur un VPS","Gérez domaines, SSL et reverse proxy de plusieurs services sur un VPS avec Nginx Proxy Manager : installation, réseaux Docker, dépannage 502 et configuration avancée.",10,7,"2026-05-14T00:00:00+00:00","2026-11-08T01:13:14+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[159],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-nginx-proxy-manager-poster.svg",{"id":162,"slug":163,"slugs":164,"title":168,"excerpt":169,"readTime":17,"views":170,"isPinned":19,"noindex":19,"publishedAt":171,"updatedAt":172,"category":173,"categories":174,"featuredImage":29,"bgImage":30,"posterImage":176,"relatedSolution":177},39,"deployer-avec-caddy",{"fr":163,"en":165,"ar":166,"es":167},"deploy-your-applications-with-caddy-on-a-vps","انشر-تطبيقاتك-باستخدام-caddy-على-خادم-vps","desplegar-con-caddy","Caddy en reverse proxy sur VPS : guide complet","Installez et configurez Caddy comme reverse proxy sur votre VPS : HTTPS automatique Let's Encrypt, multi-apps, sécurité et dépannage des erreurs courantes.",4,"2026-05-12T00:00:00+00:00","2026-09-25T23:43:04+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[175],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-caddy-poster.svg",{"categorySlug":25,"appSlug":178},"caddy",true,1794270693029]