<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HAProxy 3.4.4 Documentation on PIG.CENTER</title><link>https://pig.center/fr/docs/haproxy/</link><description>Recent content in HAProxy 3.4.4 Documentation on PIG.CENTER</description><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/fr/docs/haproxy/index.xml" rel="self" type="application/rss+xml"/><item><title>Guide de démarrage</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item><item><title>Fundamentaux de la répartition de charge</title><link>https://pig.center/fr/docs/haproxy/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/load-balancing/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Ce document présente HAProxy à l&amp;rsquo;intention de tous ceux qui ne le connaissent pas, ainsi que de ceux qui souhaitent le redécouvrir après avoir utilisé des versions antérieures. Son objectif principal est de fournir à l&amp;rsquo;utilisateur toutes les informations nécessaires pour décider si HAProxy correspond ou non à ses besoins. Les utilisateurs avancés pourront y trouver certaines solutions à des idées qu&amp;rsquo;ils avaient eues, simplement parce qu&amp;rsquo;ils ignoraient une fonctionnalité récente. Des indications de dimensionnement sont également fournies, le cycle de vie du produit est expliqué, ainsi que des comparaisons avec des produits partiellement similaires.&lt;/p&gt;</description></item><item><title>Qu'est-ce qu'HAProxy et comment il fonctionne</title><link>https://pig.center/fr/docs/haproxy/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/architecture/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;La graphie « HAProxy » désigne le produit, tandis que « haproxy » désigne le programme exécutable, le paquet logiciel ou un processus. Ces graphies sont toutefois couramment utilisées dans chaque contexte et se prononcent H-A-Proxy. À l&amp;rsquo;origine, « haproxy » signifiait « high availability proxy » et le nom s&amp;rsquo;écrivait en deux mots distincts ; aujourd&amp;rsquo;hui, il ne signifie plus rien d&amp;rsquo;autre que « HAProxy ».&lt;/p&gt;</description></item><item><title>Fonctionnalités de base</title><link>https://pig.center/fr/docs/haproxy/basic-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/basic-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Cette section énumère un certain nombre de fonctionnalités implémentées par HAProxy, certaines étant généralement attendues d’un répartiteur de charge moderne, et d’autres constituant un avantage direct de l’architecture d’HAProxy. Les fonctionnalités avancées seront détaillées dans la section suivante.&lt;/p&gt;&#10;&lt;h2 id="section-3-3-1"&gt;3.3.1. Fonctionnalités de base : Proxys&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le proxy consiste à transférer des données entre un client et un serveur via deux connexions indépendantes. Les fonctionnalités de base suivantes sont prises en charge par HAProxy en matière de proxy et de gestion des connexions :&lt;/p&gt;</description></item><item><title>Fonctionnalités standard</title><link>https://pig.center/fr/docs/haproxy/standard-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/standard-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Dans cette section, sont énumérées certaines fonctionnalités très couramment utilisées avec HAProxy mais qui ne sont pas nécessairement disponibles sur d&amp;rsquo;autres répartiteurs de charge.&lt;/p&gt;&#10;&lt;h2 id="section-3-4-1"&gt;3.4.1. Fonctionnalités standard : Échantillonnage et conversion d&amp;rsquo;informations&#10;&lt;/h2&gt;&#10;&lt;p&gt;HAProxy prend en charge l&amp;rsquo;extraction d&amp;rsquo;échantillons à l&amp;rsquo;aide d&amp;rsquo;une large gamme de « fonctions d&amp;rsquo;extraction d&amp;rsquo;échantillon ». Le principe consiste à extraire des éléments d&amp;rsquo;information appelés échantillons, destinés à une utilisation immédiate. Cela est utilisé pour la persistance de session, la création de conditions, la génération d&amp;rsquo;informations dans les journaux ou l&amp;rsquo;enrichissement des en-têtes HTTP.&lt;/p&gt;</description></item><item><title>Fonctionnalités avancées</title><link>https://pig.center/fr/docs/haproxy/advanced-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/advanced-features/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;h2 id="section-3-5-1"&gt;3.5.1. Fonctionnalités avancées : Gestion&#10;&lt;/h2&gt;&#10;&lt;p&gt;HAProxy est conçu pour rester extrêmement stable et sécurisé à gérer dans un environnement de production classique. Il est fourni sous forme d’un seul fichier exécutable ne nécessitant aucun processus d’installation. Plusieurs versions peuvent coexister facilement, ce qui permet (et est recommandé) de mettre à jour les instances progressivement, par ordre de priorité, plutôt que de les migrer toutes en même temps. Les fichiers de configuration sont facilement versionnés. La vérification de configuration se fait hors ligne, sans nécessiter de redémarrer un service susceptible de échouer. Pendant la vérification de configuration, un certain nombre d’erreurs avancées peuvent être détectées (par exemple, une règle masquant une autre, ou une persistance qui ne fonctionnera pas), et des avertissements détaillés ainsi que des suggestions de configuration sont proposés pour les corriger. La compatibilité des fichiers de configuration avec les versions antérieures s’étend très loin dans le temps : la version 1.5 supporte encore entièrement les configurations écrites pour les versions 1.1, il y a 13 ans, et la version 1.6 n’a abandonné le support que pour des mots-clés presque inutilisés et obsolètes, pouvant être remplacés autrement. Le mécanisme de mise à jour de la configuration et du logiciel est fluide et non disruptif, car il permet à des processus anciens et nouveaux de coexister sur le système, chacun gérant ses propres connexions. L’état du système, les options de compilation et la compatibilité des bibliothèques sont rapportés au démarrage.&lt;/p&gt;</description></item><item><title>Taille et performance</title><link>https://pig.center/fr/docs/haproxy/sizing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/sizing/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les valeurs typiques d&amp;rsquo;utilisation du processeur montrent que 15 % du temps de traitement sont consacrés à HAProxy contre 85 % au noyau en mode TCP ou HTTP fermé, et environ 30 % pour HAProxy contre 70 % pour le noyau en mode HTTP keep-alive. Cela signifie que le système d&amp;rsquo;exploitation et son réglage ont une influence forte sur les performances globales.&lt;/p&gt;</description></item><item><title>Versions, Paquets et Mises à jour</title><link>https://pig.center/fr/docs/haproxy/releases-and-upgrades/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/releases-and-upgrades/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est un projet open source soumis à la licence GPLv2, ce qui signifie que toute personne est autorisée à le redistribuer à condition de fournir l&amp;rsquo;accès au code source sur demande, notamment si des modifications ont été apportées.&lt;/p&gt;&#10;&lt;p&gt;HAProxy évolue via une branche de développement principale appelée « master » ou « mainline », à partir de laquelle de nouvelles branches sont créées une fois que le code est jugé stable. De nombreux sites web exécutent des branches de développement en production de manière volontaire, soit pour participer au projet, soit parce qu&amp;rsquo;ils ont besoin d&amp;rsquo;une fonctionnalité de pointe, et leurs retours sont précieux pour corriger les bogues et évaluer la qualité et la stabilité globales de la version en développement.&lt;/p&gt;</description></item><item><title>Produits complémentaires et alternatives</title><link>https://pig.center/fr/docs/haproxy/ecosystem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/ecosystem/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy s&amp;rsquo;intègre assez bien avec certains produits listés ci-dessous, ce qui justifie leur mention ici, même s&amp;rsquo;ils ne sont pas directement liés à HAProxy.&lt;/p&gt;&#10;&lt;h2 id="section-4-1"&gt;4.1. Serveur HTTP Apache&#10;&lt;/h2&gt;&#10;&lt;p&gt;Apache est le serveur HTTP de facto. Il s&amp;rsquo;agit d&amp;rsquo;un projet très complet et modulaire, capable de servir des fichiers ainsi que du contenu dynamique. Il peut agir de front-end pour certains serveurs d&amp;rsquo;applications. Il peut même acheminer des requêtes et mettre en mémoire tampon les réponses. Dans tous ces cas d&amp;rsquo;utilisation, un répartiteur de charge frontal est généralement nécessaire. Apache peut fonctionner dans divers modes, certains étant plus lourds que d&amp;rsquo;autres. Certains modules nécessitent encore le modèle pré-forké plus lourd, ce qui empêche Apache de bien évoluer avec un grand nombre de connexions. Dans ce cas, HAProxy peut apporter une aide considérable en imposant des limites de connexion par serveur à une valeur sûre, ce qui accélère significativement le serveur et préserve ses ressources, qui seront mieux utilisées par l&amp;rsquo;application.&lt;/p&gt;</description></item><item><title>Documentation et communauté</title><link>https://pig.center/fr/docs/haproxy/resources/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/resources/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;h2 id="section-1"&gt;1. Documentation disponible&#10;&lt;/h2&gt;&#10;&lt;p&gt;La documentation complète de HAProxy est contenue dans les documents suivants. Veuillez vous assurer de consulter la documentation pertinente afin d’économiser du temps et d’obtenir la réponse la plus précise à vos besoins. Veuillez également vous abstenir d’envoyer des questions à la liste de diffusion dont les réponses sont déjà disponibles dans ces documents.&lt;/p&gt;</description></item><item><title>Documentation de configuration</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item><item><title>1. Petit rappel sur HTTP</title><link>https://pig.center/fr/docs/haproxy/http-fundamentals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/http-fundamentals/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Ce document traite du langage de configuration tel qu’il est implémenté dans la version indiquée ci-dessus. Il ne fournit aucune indication, exemple ou conseil. Pour ce type de documentation, veuillez vous référer au Manuel de référence ou au Manuel d’architecture. Les chapitres numérotés sont ordonnés dans la barre latérale plate de HAProxy pour une navigation directe.&lt;/p&gt;&#10;&lt;p&gt;Lorsque HAProxy fonctionne en mode HTTP, la requête et la réponse sont entièrement analysées et indexées, ce qui permet de définir des critères de correspondance sur presque tout élément présent dans leur contenu.&lt;/p&gt;</description></item><item><title>2. Configuration de HAProxy</title><link>https://pig.center/fr/docs/haproxy/configuration-basics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/configuration-basics/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;h2 id="section-2-1"&gt;2.1. Format du fichier de configuration&#10;&lt;/h2&gt;&#10;&lt;p&gt;Le processus de configuration d&amp;rsquo;HAProxy repose sur 3 sources majeures de paramètres :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;les arguments en ligne de commande, qui ont toujours la priorité&lt;/li&gt;&#10;&lt;li&gt;le(s) fichier(s) de configuration, dont le format est décrit ici&lt;/li&gt;&#10;&lt;li&gt;l&amp;rsquo;environnement du processus en cours d&amp;rsquo;exécution, en cas de référence explicite à certaines variables d&amp;rsquo;environnement&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Le fichier de configuration suit un format hiérarchique assez simple qui obéit à quelques règles fondamentales :&lt;/p&gt;</description></item><item><title>3. Section globale</title><link>https://pig.center/fr/docs/haproxy/global/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/global/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les paramètres de la section « global » sont applicables à l&amp;rsquo;ensemble du processus et souvent spécifiques au système d&amp;rsquo;exploitation. Ils sont généralement définis une fois pour toutes et n&amp;rsquo;exigent pas de modification une fois correctement configurés. Certains d&amp;rsquo;entre eux ont des équivalents en ligne de commande.&lt;/p&gt;&#10;&lt;p&gt;Les mots-clés suivants sont pris en charge dans la section « global » :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Gestion des processus et sécurité&lt;/p&gt;</description></item><item><title>4. Proxies</title><link>https://pig.center/fr/docs/haproxy/proxies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/proxies/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;La configuration du proxy peut être située dans un ensemble de sections :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;defaults [&lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt;] [ depuis &lt;code&gt;&amp;lt;defaults_name&amp;gt;&lt;/code&gt; ]&lt;/li&gt;&#10;&lt;li&gt;frontal &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; [ depuis &lt;code&gt;&amp;lt;defaults_name&amp;gt;&lt;/code&gt; ]&lt;/li&gt;&#10;&lt;li&gt;backend &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; [ depuis &lt;code&gt;&amp;lt;defaults_name&amp;gt;&lt;/code&gt; ]&lt;/li&gt;&#10;&lt;li&gt;écouter &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; [ depuis &lt;code&gt;&amp;lt;defaults_name&amp;gt;&lt;/code&gt; ]&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Une section « frontend » décrit un ensemble de sockets d&amp;rsquo;écoute acceptant les connexions clientes.&lt;/p&gt;&#10;&lt;p&gt;Une section « backend » décrit un ensemble de serveurs auxquels le proxy se connectera pour acheminer les connexions entrantes.&lt;/p&gt;</description></item><item><title>5. Options de liaison et de serveur</title><link>https://pig.center/fr/docs/haproxy/bind-and-server-options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/bind-and-server-options/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les mots-clés « bind », « server » et « default-server » prennent en charge un certain nombre de paramètres, selon certains options de compilation et le système sur lequel HAProxy a été compilé. Ces paramètres sont généralement composés d’un mot, parfois suivi d’une valeur, écrits sur la même ligne que la directive « bind » ou « server ». Tous ces paramètres sont décrits dans cette section.&lt;/p&gt;</description></item><item><title>6. Mise en cache</title><link>https://pig.center/fr/docs/haproxy/cache/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/cache/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy fournit un cache, conçu pour effectuer le mise en mémoire tampon de petits objets (favicon, fichiers CSS&amp;hellip;).&#10;Il s&amp;rsquo;agit d&amp;rsquo;un cache minimaliste, à faible maintenance, qui s&amp;rsquo;exécute en mémoire RAM.&lt;/p&gt;&#10;&lt;p&gt;Le cache repose sur une zone mémoire partagée entre tous les threads, divisée en blocs de 1 ko.&lt;/p&gt;&#10;&lt;p&gt;Si un objet n&amp;rsquo;est plus utilisé, il peut être supprimé afin de stocker un nouvel objet indépendamment de sa date d&amp;rsquo;expiration. Les objets les plus anciens sont supprimés en premier lorsque l&amp;rsquo;on tente d&amp;rsquo;allouer un nouvel objet.&lt;/p&gt;</description></item><item><title>7. Listes de contrôle d'accès et extraction d'échantillon</title><link>https://pig.center/fr/docs/haproxy/acls-and-samples/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/acls-and-samples/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est capable d&amp;rsquo;extraire des données des flux de requêtes ou de réponses, des informations client ou serveur, des tables, des informations environnementales, etc. L&amp;rsquo;opération d&amp;rsquo;extraction de ces données est appelée « récupération d&amp;rsquo;un échantillon ». Une fois récupérés, ces échantillons peuvent être utilisés à diverses fins, par exemple comme clé dans une table de persistance, mais les usages les plus courants consistent à les comparer à des données constantes prédéfinies appelées modèles.&lt;/p&gt;</description></item><item><title>8. Journalisation</title><link>https://pig.center/fr/docs/haproxy/configuration-logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/configuration-logging/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;L&amp;rsquo;un des points forts d&amp;rsquo;HAProxy réside certainement dans ses journaux précis. Il fournit probablement le niveau d&amp;rsquo;information le plus poussé disponible pour un tel produit, ce qui est essentiel pour le dépannage des environnements complexes. Les informations standard fournies dans les journaux incluent les ports clients, les compteurs d&amp;rsquo;état TCP/HTTP, l&amp;rsquo;état précis du flux à la terminaison et la cause précise de la terminaison, des informations sur les décisions visant à acheminer le trafic vers un serveur, ainsi que, bien entendu, la capacité à capturer des en-têtes arbitraires.&lt;/p&gt;</description></item><item><title>9. Filtres pris en charge</title><link>https://pig.center/fr/docs/haproxy/filters/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/filters/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Voici la liste des filtres officiellement pris en charge, accompagnée de la liste des paramètres qu&amp;rsquo;ils acceptent. En fonction des options de compilation, certains de ces filtres pourraient être indisponibles. La liste des filtres disponibles est indiquée dans HAProxy -vv.&lt;/p&gt;&#10;&lt;p&gt;Voir aussi : « filter »&lt;/p&gt;&#10;&lt;h2 id="section-9-1"&gt;9.1. Trace&#10;&lt;/h2&gt;&#10;&lt;p&gt;filtre trace [nom &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt;] [redirection aléatoire] [nombre maximal de redirections &lt;code&gt;&amp;lt;max&amp;gt;&lt;/code&gt;] [affichage hexadécimal]&lt;/p&gt;</description></item><item><title>10. Applications FastCGI</title><link>https://pig.center/fr/docs/haproxy/fastcgi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/fastcgi/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est capable d&amp;rsquo;envoyer des requêtes HTTP vers des applications FastCGI Responder. Cette fonctionnalité a été ajoutée à HAProxy 2.1. Pour cela, les serveurs doivent être configurés pour utiliser le protocole FastCGI (en utilisant le mot-clé « proto fcgi » dans la ligne du serveur) et une application FastCGI doit être configurée et utilisée par le backend gérant ces serveurs (en utilisant le mot-clé « use-fcgi-app » dans la section proxy). Plusieurs applications FastCGI peuvent être définies, mais un seul peut être utilisé à la fois par un backend.&lt;/p&gt;</description></item><item><title>11. Tables de persistance et pairs</title><link>https://pig.center/fr/docs/haproxy/stick-tables-and-peers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/stick-tables-and-peers/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les tables de persistance dans HAProxy sont un mécanisme qui permet d&amp;rsquo;associer un certain nombre d&amp;rsquo;informations et de métriques à une clé d&amp;rsquo;un type donné, pendant une durée déterminée après la dernière mise à jour. Cela peut être vu comme une ligne à plusieurs colonnes dans un tableau, où le numéro de ligne est défini par la valeur de la clé, et chaque colonne représente un critère distinct.&lt;/p&gt;</description></item><item><title>12. Autres sections</title><link>https://pig.center/fr/docs/haproxy/other-sections/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/other-sections/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Les sections décrites ci-dessous sont moins couramment utilisées et ne prennent généralement en charge qu&amp;rsquo;un petit nombre de paramètres. Il n&amp;rsquo;existe aucune relation implicite entre elles. Elles sont toutes initiales à l&amp;rsquo;aide d&amp;rsquo;un mot-clé unique. Aucune d&amp;rsquo;entre elles n&amp;rsquo;est autorisée avant une section « global ». Le support de certaines d&amp;rsquo;entre elles peut être conditionné par des options de compilation (par exemple, tout ce qui est lié au SSL).&lt;/p&gt;</description></item><item><title>Guide de gestion</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item><item><title>1. Prérequis</title><link>https://pig.center/fr/docs/haproxy/prerequisites/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/prerequisites/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Ce document décrit comment démarrer, arrêter, gérer et dépanner HAProxy, ainsi que certaines limitations connues et pièges à éviter. Il ne décrit pas comment le configurer (pour cela, veuillez consulter &lt;a href="https://pig.center/fr/docs/haproxy/http-fundamentals/"&gt;&lt;code&gt;configuration.txt&lt;/code&gt;&lt;/a&gt;&#10;).&lt;/p&gt;&#10;&lt;p&gt;Dans ce document, il est supposé que le lecteur possède des compétences suffisantes en administration sur un système d&amp;rsquo;exploitation de type UNIX, utilise quotidiennement l&amp;rsquo;interpréteur de commandes et maîtrise les outils de dépannage tels que strace et tcpdump.&lt;/p&gt;</description></item><item><title>2. HAProxy Architecture</title><link>https://pig.center/fr/docs/haproxy/management-architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/management-architecture/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est un démon multithreadé, basé sur des événements et non bloquant. Cela signifie qu’il utilise la multiplexion d’événements pour planifier toutes ses activités, plutôt que de dépendre du système pour planifier entre plusieurs activités. La plupart du temps, il s’exécute sous la forme d’un seul processus, de sorte que la sortie de la commande « ps aux » sur un système ne répertorie qu’un seul processus « HAProxy », sauf en cas de rechargement doux en cours, auquel cas un processus ancien peut encore s’exécuter en parallèle du nouveau. Il est donc toujours facile de suivre son activité à l’aide de l’outil strace. Pour s’adapter au nombre de processeurs disponibles, HAProxy démarre, par défaut, un thread worker par processeur sur lequel il est autorisé à s’exécuter. À moins d’être configuré autrement, le trafic entrant est réparti entre tous ces threads, chacun exécutant la même boucle d’événements. Une grande attention est portée à limiter les dépendances entre threads au strict minimum, afin de tenter d’obtenir une scalabilité quasi linéaire. Cela a certaines conséquences, notamment le fait qu’une connexion donnée soit servie par un seul thread. Ainsi, pour utiliser toute la capacité de traitement disponible, il faut disposer d’au moins autant de connexions que de threads, ce qui est presque toujours le cas.&lt;/p&gt;</description></item><item><title>3. Démarrage de HAProxy</title><link>https://pig.center/fr/docs/haproxy/starting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/starting/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est lancé en exécutant le programme « HAProxy » avec un certain nombre d&amp;rsquo;arguments passés en ligne de commande. La syntaxe réelle est :&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-5339530c-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="shell" data-td-line-count="1"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-5339530c-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ haproxy &lt;span class="o"&gt;[&lt;/span&gt;&amp;lt;options&amp;gt;&lt;span class="o"&gt;]&lt;/span&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;où [&lt;code&gt;&amp;lt;options&amp;gt;&lt;/code&gt;]* est un nombre quelconque d&amp;rsquo;options. Une option commence toujours par &amp;lsquo;-&amp;rsquo; suivi d&amp;rsquo;une ou plusieurs lettres, et peut être suivie d&amp;rsquo;un ou plusieurs arguments supplémentaires. Sans option, HAProxy affiche la page d&amp;rsquo;aide avec un rappel des options prises en charge. Les options disponibles peuvent varier légèrement selon le système d&amp;rsquo;exploitation. Un nombre important de ces options se chevauchent avec une option équivalente dans la section « global ». Dans ce cas, la ligne de commande a toujours priorité sur le fichier de configuration, de sorte que la ligne de commande peut être utilisée pour imposer rapidement certains paramètres sans modifier les fichiers de configuration. La liste actuelle des options est :&lt;/p&gt;</description></item><item><title>4. Arrêt et redémarrage de HAProxy</title><link>https://pig.center/fr/docs/haproxy/stopping-and-restarting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/stopping-and-restarting/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy prend en charge une interruption douce et une interruption brutale. L&amp;rsquo;interruption brutale est simple : lorsqu&amp;rsquo;un signal SIGTERM est envoyé au processus HAProxy, celui-ci quitte immédiatement et toutes les connexions établies sont fermées. L&amp;rsquo;interruption douce est déclenchée lorsqu&amp;rsquo;un signal SIGUSR1 est envoyé au processus HAProxy. Elle consiste à ne plus se lier aux ports d&amp;rsquo;écoute, tout en continuant à traiter les connexions existantes jusqu&amp;rsquo;à leur fermeture. Une fois la dernière connexion fermée, le processus se termine.&lt;/p&gt;</description></item><item><title>5. Limites des descripteurs de fichiers</title><link>https://pig.center/fr/docs/haproxy/file-descriptors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/file-descriptors/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Afin de garantir que toutes les connexions entrantes soient correctement servies, HAProxy calcule au moment du chargement le nombre total de descripteurs de fichiers nécessaires durant la durée de vie du processus. Un processus Unix classique reçoit généralement 1024 descripteurs de fichiers par défaut, et un processus privilégié peut augmenter lui-même cette limite. C’est une des raisons de lancer HAProxy en tant que root et de lui permettre d’ajuster cette limite. La limite par défaut de 1024 descripteurs de fichiers permet approximativement 500 connexions simultanées. Ce calcul repose sur le paramètre global maxconn, qui limite le nombre total de connexions par processus, le nombre d’écouteurs, le nombre de serveurs ayant un contrôle d’état activé, les vérifications d’agent, les pairs, les enregistreurs et éventuellement quelques autres exigences techniques. Une estimation simple de ce nombre consiste à doubler la valeur de maxconn et à ajouter quelques dizaines pour obtenir une approximation du nombre de descripteurs de fichiers nécessaires.&lt;/p&gt;</description></item><item><title>6. Gestion de la mémoire</title><link>https://pig.center/fr/docs/haproxy/memory/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/memory/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy utilise une gestion mémoire basée sur des pools, simple et rapide. Étant donné qu’il repose sur un nombre réduit de types d’objets différents, il est bien plus efficace de tirer de nouveaux objets depuis un pool déjà contenant des objets de la taille appropriée que d’appeler malloc() pour chaque taille différente. Les pools sont organisés selon une structure de pile ou LIFO, de sorte que les objets nouvellement alloués proviennent d’objets récemment libérés, encore présents dans les caches CPU. Les pools de tailles similaires sont regroupés afin de limiter la fragmentation mémoire.&lt;/p&gt;</description></item><item><title>7. Utilisation du CPU</title><link>https://pig.center/fr/docs/haproxy/cpu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/cpu/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy passe normalement la majeure partie de son temps en mode noyau et une part plus faible en mode utilisateur. Un processeur 3,5 GHz correctement optimisé peut supporter un débit d’environ 80 000 établissements et fermetures de connexions bout-en-bout par seconde à 100 % d’utilisation sur un seul cœur. Lorsqu’un cœur est saturé, les valeurs typiques sont :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;95 % système, 5 % utilisateur pour des connexions TCP longues ou de grands objets HTTP&lt;/li&gt;&#10;&lt;li&gt;85 % système et 15 % utilisateur pour des connexions TCP courtes ou de petits objets HTTP en mode fermé&lt;/li&gt;&#10;&lt;li&gt;70 % système et 30 % utilisateur pour de petits objets HTTP en mode keep-alive&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Le nombre de règles traitées et d&amp;rsquo;expressions régulières augmente la partie en espace utilisateur. La présence de règles de pare-feu, du suivi des connexions et de tables de routage complexes dans le système augmente quant à elle la partie noyau.&lt;/p&gt;</description></item><item><title>8. Journalisation</title><link>https://pig.center/fr/docs/haproxy/management-logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/management-logging/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Pour la journalisation, HAProxy s’appuie toujours sur un serveur syslog, car il ne réalise aucune opération sur le système de fichiers. La méthode standard consiste à envoyer les journaux via UDP vers le serveur de journalisation (par défaut sur le port 514). Il est très courant de le configurer sur 127.0.0.1, où s’exécute le démon syslog local, mais il peut aussi être utilisé sur le réseau pour journaliser sur un serveur central. Ce dernier offre des avantages supplémentaires, notamment dans les scénarios actif-actif où il est souhaitable de conserver les journaux fusionnés dans l’ordre d’arrivée. HAProxy peut également utiliser une socket UNIX pour envoyer ses journaux au démon syslog local, mais cela n’est pas recommandé, car si le serveur syslog est redémarré pendant que HAProxy est en cours d’exécution, la socket sera remplacée et les nouveaux journaux seront perdus. Étant donné que HAProxy sera isolé dans une prison chroot, il ne pourra pas se reconnecter à la nouvelle socket. Des observations sur le terrain ont également montré que les tampons utilisés sur les sockets UNIX sont très petits et entraînent la perte de messages même à des charges très faibles. Cela peut toutefois convenir pour les tests.&lt;/p&gt;</description></item><item><title>9. Statistiques et surveillance</title><link>https://pig.center/fr/docs/haproxy/statistics-and-monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/statistics-and-monitoring/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Il est possible de consulter l&amp;rsquo;état de HAProxy. Le mécanisme le plus couramment utilisé est la page de statistiques HTTP. Cette page expose également un format de sortie CSV alternatif destiné aux outils de surveillance. Le même format est disponible via le socket Unix.&lt;/p&gt;&#10;&lt;p&gt;Les statistiques sont regroupées par catégories désignées sous le nom de domaines, correspondant aux différents composants d&amp;rsquo;HAProxy. Deux domaines sont disponibles : proxy et resolvers. Si aucun domaine n&amp;rsquo;est précisé, le domaine proxy est sélectionné. Notez que seules les statistiques du proxy sont affichées sur la page HTTP.&lt;/p&gt;</description></item><item><title>10. Gestion de configuration simplifiée</title><link>https://pig.center/fr/docs/haproxy/configuration-management/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/configuration-management/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Il est très courant que deux nœuds HAProxy constituant un cluster partagent exactement la même configuration, à l’exception de quelques adresses. Au lieu de devoir maintenir une configuration dupliquée pour chaque nœud, ce qui entraînera inévitablement une divergence, il est possible d’inclure des variables d’environnement dans la configuration. Ainsi, plusieurs configurations peuvent partager exactement le même fichier, en ne modifiant que quelques variables d’environnement système. Cette fonctionnalité a été introduite à partir de la version 1.5, où seules les adresses pouvaient inclure des variables d’environnement, et la version 1.6 va plus loin en permettant l’utilisation de variables d’environnement partout. La syntaxe est identique à celle du shell UNIX : une variable commence par un signe dollar (&amp;rsquo;$&amp;rsquo;), suivi d&amp;rsquo;une accolade ouvrante (&amp;rsquo;{&amp;rsquo;), puis le nom de la variable, terminé par une accolade fermante (&amp;rsquo;}&amp;rsquo;). À l’exception des adresses, les variables d’environnement ne sont interprétées que dans les arguments entourés de guillemets doubles (ce qui était nécessaire pour ne pas rompre les configurations existantes utilisant des expressions régulières impliquant le symbole dollar).&lt;/p&gt;</description></item><item><title>11. Pièges courants à éviter</title><link>https://pig.center/fr/docs/haproxy/traps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/traps/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Parfois, une personne signale que, après un redémarrage du système, le service HAProxy n’est pas démarré automatiquement, et qu’une fois lancé manuellement, il fonctionne correctement. La plupart de ces utilisateurs exécutent un mécanisme d’adresse IP regroupée, comme keepalived, afin d’attribuer l’adresse IP du service uniquement au nœud principal, et alors qu’il fonctionnait auparavant lorsqu’ils liaient HAProxy à l’adresse 0.0.0.0, il a cessé de fonctionner après avoir lié celui-ci à l’adresse IP virtuelle. Ce qui se produit ici, c’est que, lors du démarrage du service, l’adresse IP virtuelle n’est pas encore détenu par le nœud local, si bien que lorsque HAProxy tente de se lier à cette adresse, le système la rejette car elle n’est pas une adresse locale. La solution ne consiste pas à retarder le démarrage du service HAProxy (car cela ne résisterait pas à un redémarrage), mais plutôt à configurer correctement le système afin de permettre la liaison à des adresses non locales. Cela peut être facilement réalisé sous Linux en définissant le paramètre sysctl net.ipv4.ip_nonlocal_bind à 1. Cette configuration est également nécessaire pour intercepter de manière transparente le trafic IP qui traverse HAProxy pour une adresse cible spécifique.&lt;/p&gt;</description></item><item><title>12. Problèmes de débogage et de performance</title><link>https://pig.center/fr/docs/haproxy/debugging-and-performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/debugging-and-performance/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;Lorsque HAProxy est lancé avec l&amp;rsquo;option &amp;ldquo;-d&amp;rdquo;, il reste en premier plan et affiche une ligne par événement, tel qu&amp;rsquo;une connexion entrante, la fin d&amp;rsquo;une connexion, ou chaque ligne d&amp;rsquo;en-tête de requête ou de réponse observée. Cette sortie de débogage est émise avant le traitement des contenus, aussi ne tiennent-elles pas compte des modifications locales. Son usage principal consiste à afficher les requêtes et réponses sans avoir à exécuter un analyseur réseau. La lecture de la sortie devient moins aisée lorsque plusieurs connexions sont gérées en parallèle, mais les scripts &amp;ldquo;debug2ansi&amp;rdquo; et &amp;ldquo;debug2html&amp;rdquo; présents dans le répertoire examples/ aident certainement dans ce cas en colorant la sortie.&lt;/p&gt;</description></item><item><title>13. Considérations de sécurité</title><link>https://pig.center/fr/docs/haproxy/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/fr/docs/haproxy/security/</guid><description>&lt;!-- Generated by scripts/generate-haproxy-docs.py from pinned upstream text. --&gt;&#10;&lt;p&gt;HAProxy est conçu pour s&amp;rsquo;exécuter avec des privilèges très limités. La méthode standard consiste à l&amp;rsquo;isoler dans une prison chroot et à supprimer ses privilèges pour qu&amp;rsquo;il s&amp;rsquo;exécute en tant qu&amp;rsquo;utilisateur non root, sans aucun droit à l&amp;rsquo;intérieur de cette prison, afin qu&amp;rsquo;en cas de découverte d&amp;rsquo;une vulnérabilité future, son compromis n&amp;rsquo;affecte pas le reste du système.&lt;/p&gt;&#10;&lt;p&gt;Pour effectuer un chroot, il est d&amp;rsquo;abord nécessaire de le lancer en tant qu&amp;rsquo;utilisateur root. Il est inutile de créer manuellement des chroots afin de lancer le processus à l&amp;rsquo;intérieur ; ces environnements sont difficiles à mettre en place, jamais correctement maintenus et contiennent toujours bien plus de bogues que le système de fichiers principal. En cas de compromission, l&amp;rsquo;attaquant peut exploiter le système de fichiers spécifiquement conçu à cet effet. Malheureusement, de nombreux administrateurs confondent « lancer en tant que root » et « s&amp;rsquo;exécuter en tant que root », ce qui entraîne le changement d&amp;rsquo;UID avant le démarrage d&amp;rsquo;HAProxy, réduisant ainsi les restrictions de sécurité effectives.&lt;/p&gt;</description></item></channel></rss>