Generador HAProxy
Infraestructura de Proxy y Balanceo de Carga de Alto Rendimiento

Generador de Configuraciones de HAProxy Load Balancer

Generador y validador de sintaxis de configuraciones de HAProxy para entornos de producción.

Privacidad 100% del lado del cliente
Cero transmisión al servidor
Preajustes:
Configurador de Arquitectura HAProxy
Directivas Globales y de Rendimientoglobal
Valores Predeterminados y Tiempos de Espera del Proxydefaults
Frontend y Descarga SSL/TLSfrontend
Mitigación DDoS con Stick-Table en Memoria
Listas de Control de Acceso (ACLs)
→
Grupos de Servidores Backend (5 Nodos)
be_app_clusterhttp
:
:
:
be_static_cachehttp
:
:
Panel Web HAProxy y Exportador 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 y Puertos
fe_web_https:80 & :443 (TLS)
Modo: HTTP • HTTP/2 ALPN Activo
Clúster Backend
2 Grupos (5 Nodos Upstream)
Estrategia: roundrobin • Comprobaciones de Estado Activas
Seguridad y Defensa DDoS
Stick-Table (100k IPs)
Cifrado TLS 1.3 y HSTS Activo

Generador 100% del Lado del Cliente

Cero transmisión al servidor. Todas las IPs backend, credenciales y reglas de enrutamiento se procesan localmente en su navegador.

Directivas de Producción HAProxy 2.x y 3.x

Genera sintaxis optimizada con cifrado TLS 1.3 moderno, negociación ALPN, comprobaciones de estado activas y tablas de memoria contra DDoS.

Listo para Despliegue Empresarial

Exporte archivos de configuración listos para producción junto con Docker Compose, servicios Systemd y comandos de recarga sin caída.

Referencia técnica y guía de arquitectura

Referencia Técnica de HAProxy Config Generator — Guía de referencia

Generador y validador de sintaxis de configuraciones de HAProxy para entornos de producción.

Parámetros clave y controles

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

Versión destino de HAProxy que determina la compatibilidad de directivas, hilos por defecto y suites criptográficas TLS.

Por defecto: '2.8'
mode'http' | 'tcp'

Capa de operación del proxy. Controla si se analizan cabeceras HTTP L7 o si opera en modo transparente L4 TCP.

Por defecto: 'http'
algorithm'roundrobin' | 'leastconn' | 'source' | 'uri' | 'first' | 'random'

Algoritmo de balanceo de carga para distribuir el tráfico entre los servidores del backend.

Por defecto: 'roundrobin'
enableRateLimitboolean

Habilita una stick-table en memoria para rastrear IPs y denegar con HTTP 429 cuando se superan los umbrales definidos.

Por defecto: false
enableAlpnH2boolean

Añade el token de negociación 'alpn h2,http/1.1' a las directivas bind TLS para multiplexación HTTP/2.

Por defecto: true

Consejos profesionales y mejores prácticas

Ajustar expiración de tablas stick

Configure ventanas de expiración cortas (10s a 30s) junto con http_req_rate(10s) para minimizar el uso de RAM durante ataques de tráfico masivo.

Optimizar intervalos health check

Defina 'inter 3s fastinter 1s downinter 5s rise 2 fall 3' en servidores backend para evitar caídas en cascada ante microcortes de red.

Recargas sin caída vía socket CLI

Utilice 'stats socket ... expose-fd listeners' para garantizar recargas en caliente sin pérdida de paquetes bajo el modo master-worker.

Errores comunes y solución de problemas

haproxy -c falla con el error 'SSL certificate not found' en el chequeo previo

Compruebe que sslCertPath apunte a un archivo PEM combinado con la clave privada y la cadena completa, o cree un certificado autofirmado temporal antes del test.

Los chequeos de salud backend devuelven 'L7STS: Layer7 invalid status 404'

Incluya 'http-check send hdr Host tudominio.com' en la directiva 'option httpchk' si las aplicaciones de destino dependen de enrutamiento por nombre de host.

El límite de peticiones bloquea a todos los clientes detrás de un CDN o proxy inverso

Modifique la clave de rastreo de 'src' a 'http-request track-sc0 hdr(CF-Connecting-IP)' o 'hdr(X-Forwarded-For)' para inspeccionar la IP de origen real.

Preguntas frecuentes (FAQ)

¿Cómo ejecuta HAProxy las recargas en caliente sin tiempo de inactividad?▼

Mediante el modo master-worker (-W) y la transferencia de descriptores con 'expose-fd listeners'. El nuevo proceso hereda los sockets abiertos antes de que el proceso anterior finalice sus conexiones activas.

¿Se envían parámetros de red o credenciales a servidores remotos?▼

No. Toda la generación, compilación y formateo de la configuración se ejecuta exclusivamente en la memoria local del navegador sin tráfico saliente.

¿Cuál es el impacto en memoria de una stick-table con tráfico elevado?▼

Cada registro IPv4 consume cerca de 64 bytes de memoria. Una tabla configurada para 100.000 entradas (size 100k) requiere aproximadamente 6,4 MB de memoria RAM.

¿Por qué HAProxy exige un único archivo PEM consolidado para TLS?▼

HAProxy invoca OpenSSL requiriendo que la clave privada, el certificado del servidor y las entidades intermedias residan en el mismo archivo para simplificar la lectura en la directiva bind.

Herramientas y utilidades relacionadas

Todas las herramientas →
Guía de Desarrollo del Generador de Helm Charts de Kubernetes (Chart.yaml & values.yaml)Desarrollo

Genere archivos Chart.yaml, values.yaml y plantillas de despliegue estándar para Kubernetes Helm v3 con Service, Ingress y límites de recursos.

Abrir herramienta→
Guía para Desarrolladores del Generador de Dockerfile Multietapa (Node, Go, Python, Rust)Desarrollo

Cree Dockerfiles multietapa optimizados y seguros para Node.js, Golang, Python, Rust y Java con usuario no root y aceleración de caché BuildKit.

Abrir herramienta→
Referencia de Desarrollador Sql To KyselyDesarrollo

Manual técnico y generador de tipos para transformar esquemas DDL de SQL en interfaces TypeScript seguras para Kysely en PostgreSQL, MySQL y SQLite.

Abrir herramienta→
Guía del Desarrollador del Generador de Entidades MikroORM TypeScript desde SQL DDLDesarrollo

Convierte definiciones SQL CREATE TABLE en clases de entidad MikroORM con decoradores @Entity, @PrimaryKey, @Property, @Index y relaciones.

Abrir herramienta→
Guía de Desarrollo: Generador de Esquemas Mongoose y Modelos TypeScript desde JSONDesarrollo

Infiere y genera esquemas MongoDB Mongoose, interfaces Document de TypeScript, subdocumentos anidados, marcas de tiempo y exportación de modelos desde JSON.

Abrir herramienta→
Guía para Desarrolladores del Generador de Esquemas de Validación Yup desde JSONDesarrollo

Transforme muestras JSON en esquemas de validación de objetos Yup con seguridad de tipos, yup.string(), yup.number(), yup.array() y reglas requeridas.

Abrir herramienta→