Générateur HAProxy
Équilibrage de Charge et Infrastructure Proxy Haute Performance

Générateur de Configuration HAProxy Load Balancer

Générateur et validateur syntaxique de configurations HAProxy taillé pour la production.

Confidentialité 100% côté client
Zéro transmission au serveur
Préréglages :
Configurateur d'Architecture HAProxy
Directives Globales et de Performanceglobal
Paramètres par Défaut et Délais d'Expiration du Proxydefaults
Frontend et Déchargement SSL/TLSfrontend
Atténuation DDoS par Stick-Table en Mémoire
Listes de contrôle d'accès (ACL)
→
Pools de serveurs backend (5 Nœuds)
be_app_clusterhttp
:
:
:
be_static_cachehttp
:
:
Tableau de Bord Web HAProxy et Exportateur Prometheus
#---------------------------------------------------------------------
# HAProxy 3.0 Production Configuration
# Generated via ToolsAA 100% Client-Side Engine
#---------------------------------------------------------------------
global
    log 127.0.0.1:514 local0 notice
    chroot /var/lib/haproxy
    user haproxy
    group haproxy
    daemon
    maxconn 50000
    nbthread 4
    stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
    stats timeout 30s

    # Hardened Modern SSL/TLS Ciphers (OWASP & Mozilla Modern Standard)
    ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256
    ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
    ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets

#---------------------------------------------------------------------
# Common Defaults for all Frontend & Backend Proxies
#---------------------------------------------------------------------
defaults
    log global
    mode http
    option httplog
    option dontlognull
    option redispatch
    retries 3
    timeout connect 5s
    timeout client  50s
    timeout server  50s
    timeout http-keep-alive 15s
    timeout http-request    10s
    timeout queue   1m
    maxconn 30000

#---------------------------------------------------------------------
# Frontend: fe_web_https
#---------------------------------------------------------------------
frontend fe_web_https
    bind *:80
    bind *:443 ssl crt /etc/haproxy/certs/site.pem alpn h2,http/1.1
    http-request redirect scheme https unless { ssl_fc }
    http-response set-header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
    option forwardfor
    http-request set-header X-Forwarded-Proto https if { ssl_fc }
    http-request set-header X-Forwarded-Proto http unless { ssl_fc }
    http-request set-header X-Forwarded-Port %[dst_port]
    compression algo gzip deflate
    compression type text/html text/plain text/css application/javascript application/json

    # Stick-table Rate Limiting & Anti-DDoS
    stick-table type ip size 100k expire 10s store http_req_rate(10s)
    http-request track-sc0 src
    http-request deny deny_status 429 if { sc_http_req_rate(0) gt 120 }

    # ACL Conditions
    acl is_static_assets path_beg /static /assets /favicon.ico

    # ACL Backend Routing Rules
    use_backend be_static_cache if is_static_assets
    default_backend be_app_cluster

#---------------------------------------------------------------------
# Backend: be_app_cluster
#---------------------------------------------------------------------
backend be_app_cluster
    mode http
    balance roundrobin
    cookie SERVERID insert indirect nocache
    option httpchk GET /healthz
    http-check expect status 200,204
    server web01 10.0.1.11:3000 weight 10 check inter 2000 rise 2 fall 3 cookie web01
    server web02 10.0.1.12:3000 weight 10 check inter 2000 rise 2 fall 3 cookie web02
    server web03 10.0.1.13:3000 weight 10 check inter 2000 rise 2 fall 3 cookie web03

#---------------------------------------------------------------------
# Backend: be_static_cache
#---------------------------------------------------------------------
backend be_static_cache
    mode http
    balance roundrobin
    option httpchk GET /healthz
    http-check expect status 200,204
    server nginx-cdn01 10.0.1.51:80 weight 10 check inter 2000 rise 2 fall 3
    server nginx-cdn02 10.0.1.52:80 weight 10 check inter 2000 rise 2 fall 3

#---------------------------------------------------------------------
# HAProxy Real-Time Statistics & Prometheus Metrics Hub
#---------------------------------------------------------------------
listen stats
    bind *:8404
    mode http
    stats enable
    stats uri /stats
    stats refresh 5s
    stats auth admin:SuperClusterSecret2026
    stats show-node
    stats show-legends

    # Prometheus Exporter Endpoint
    http-request use-service prometheus-exporter if { path /metrics }
Frontends et Ports
fe_web_https:80 & :443 (TLS)
Mode: HTTP • HTTP/2 ALPN Actif
Cluster Backend
2 Pools (5 Nœuds Upstream)
Stratégie: roundrobin • Sondes d'État Actives
Sécurité & Défense DDoS
Stick-Table (100k IP)
Chiffrement TLS 1.3 et HSTS Actifs

Générateur 100% Côté Client

Aucun envoi de données sur serveur. Vos adresses IP de backend, certificats SSL et règles ACL sont traités localement.

Directives de Production HAProxy 2.x/3.x

Génération de syntaxe éprouvée incluant TLS 1.3, ALPN, sondes de disponibilité actives et stick-tables anti-DDoS.

Prêt pour le Déploiement

Exportez des fichiers haproxy.cfg complets, des manifestes Docker Compose, des services Systemd et des commandes de rechargement à chaud.

Référence technique et guide d'architecture

Référence Développeur HAProxy Config Generator — Guide de référence

Générateur et validateur syntaxique de configurations HAProxy taillé pour la production.

Paramètres clés et contrôles

version'3.0' | '2.8' | '2.4'

Branche de version HAProxy cible déterminant les mots-clés supportés, la gestion des threads et les suites TLS.

Par défaut : '2.8'
mode'http' | 'tcp'

Niveau d'analyse réseau. Définit si HAProxy traite les en-têtes HTTP L7 ou agit en relais transparent de flux TCP L4.

Par défaut : 'http'
algorithm'roundrobin' | 'leastconn' | 'source' | 'uri' | 'first' | 'random'

Algorithme d'équilibrage de charge pour répartir les flux sur les serveurs backend sains.

Par défaut : 'roundrobin'
enableRateLimitboolean

Instancie une stick-table en mémoire surveillant les requêtes par IP et renvoyant une erreur HTTP 429 en cas de dépassement.

Par défaut : false
enableAlpnH2boolean

Ajoute la négociation 'alpn h2,http/1.1' à la directive bind TLS pour permettre le multiplexage HTTP/2.

Par défaut : true

Conseils de pro et bonnes practices

Ajuster l'expiration des tables

Configurez des fenêtres d'expiration de 10s à 30s avec http_req_rate(10s) pour préserver la mémoire vive lors d'attaques volumétriques.

Optimiser les tests de santé L7

Appliquez 'inter 3s fastinter 1s downinter 5s rise 2 fall 3' sur les serveurs pour éviter des basculements massifs sur micro-coupure.

Recharges sans coupure via CLI

Configurez 'stats socket ... expose-fd listeners' pour orchestrer des rechargements sans perte de paquets en mode master-worker.

Pièges courants et dépannage

haproxy -c échoue avec 'SSL certificate not found' lors du test syntaxique

Vérifiez que la directive sslCertPath pointe vers un fichier PEM complet contenant la clé privée et la chaîne de certificats, ou générez un certificat temporaire.

Les vérifications de santé retournent 'L7STS: Layer7 invalid status 404'

Ajoutez 'http-check send hdr Host mondomaine.fr' dans la configuration 'option httpchk' si vos services backend exigent un en-tête Host valide.

La limitation de débit bloque l'ensemble des requêtes provenant d'un CDN

Basculez la clé de suivi de 'src' vers 'http-request track-sc0 hdr(CF-Connecting-IP)' ou 'hdr(X-Forwarded-For)' pour extraire l'IP client d'origine.

Foire aux questions (FAQ)

Comment HAProxy assure-t-il des rechargements sans interruption sous systemd ?▼

HAProxy s'appuie sur le mode master-worker (-W) et le passage de descripteurs avec 'expose-fd listeners'. Le nouveau worker récupère les sockets d'écoute pendant que l'ancien traite ses connexions résiduelles.

Mes topologies réseau et configurations sont-elles transmises à un serveur tiers ?▼

Non. Toutes les opérations de génération, d'assemblage AST et de validation syntaxique s'exécutent localement dans la mémoire de votre navigateur.

Quelle est l'empreinte mémoire d'une stick-table sous fort trafic ?▼

Chaque entrée IPv4 consomme environ 64 octets. Une stick-table dimensionnée pour 100 000 adresses (size 100k) nécessite approximativement 6,4 Mo de RAM.

Pourquoi HAProxy impose-t-il un fichier PEM concaténé pour le TLS ?▼

OpenSSL et HAProxy requièrent la clé privée, le certificat de domaine et les certificats intermédiaires regroupés dans un même fichier PEM pour initialiser la directive bind en une seule lecture.

Outils et utilitaires connexes

Tous les outils →
Guide Développeur du Générateur de Helm Charts Kubernetes (Chart.yaml & values.yaml)Développement

Générez des fichiers standard Kubernetes Helm v3 Chart.yaml, values.yaml et modèles de déploiement avec Service, Ingress et limites de ressources.

Ouvrir l'outil→
Guide Développeur du Générateur de Dockerfile Multi-Étapes (Node, Go, Python, Rust)Développement

Générez des Dockerfiles multi-étapes sécurisés et ultra-légers pour Node.js, Golang, Python, Rust et Java avec utilisateur non-root et optimisation du cache BuildKit.

Ouvrir l'outil→
Référence Développeur Sql To KyselyDéveloppement

Manuel technique de référence et générateur de schémas pour convertir des définitions SQL DDL en interfaces TypeScript Kysely robustes pour PostgreSQL, MySQL et SQLite.

Ouvrir l'outil→
Guide du Développeur du Générateur d'Entités MikroORM TypeScript depuis SQL DDLDéveloppement

Convertissez les instructions SQL CREATE TABLE en classes d'entité MikroORM avec @Entity, @PrimaryKey, @Property, @Index et relations.

Ouvrir l'outil→
Guide Développeur : Générateur de Schémas Mongoose et Modèles TypeScript depuis JSONDéveloppement

Infère et génère des schémas MongoDB Mongoose, interfaces Document TypeScript, sous-documents imbriqués, horodatages et modèles exportables depuis du JSON.

Ouvrir l'outil→
Guide Développeur du Générateur de Schémas de Validation Yup depuis JSONDéveloppement

Transformez des exemples JSON en schémas de validation d'objets Yup typés avec yup.string(), yup.number(), yup.array() et règles requises.

Ouvrir l'outil→