HAProxy-Generator
Hochleistungs-Load-Balancing & Proxy-Infrastruktur

HAProxy Load Balancer Konfigurationsgenerator

Konfigurationsgenerator und Syntax-Prüfer in Produktionsqualität für HAProxy Load-Balancer.

100% clientseitige Privatsphäre
Null Serverübertragung
Vorlagen:
HAProxy-Architektur-Konfigurator
Globale & Performance-Direktivenglobal
Proxy-Standardwerte & Timeoutsdefaults
Frontend & SSL/TLS-Offloadingfrontend
In-Memory Stick-Table DDoS-Abwehr
Zugriffskontrolllisten (ACLs)
→
Backend-Serverpools (5 Knoten)
be_app_clusterhttp
:
:
:
be_static_cachehttp
:
:
HAProxy-Web-Dashboard & Prometheus-Exporter
#---------------------------------------------------------------------
# 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 & Ports
fe_web_https:80 & :443 (TLS)
Modus: HTTP • HTTP/2 ALPN Aktiv
Backend-Cluster
2 Pools (5 Upstream-Knoten)
Strategie: roundrobin • Aktive Health-Checks
Sicherheit & DDoS-Schutz
Stick-Table (100k IPs)
TLS 1.3 Ciphers & HSTS Aktiv

100% Client-seitige Sicherheit

Keine Serverübertragung oder Logs. Alle IP-Adressen, SSL-Pfade und ACL-Regeln verbleiben ausschließlich im Speicher Ihres Browsers.

Produktionsreife HAProxy Direktiven

Generiert gehärtete Konfigurationen mit modernem TLS 1.3, ALPN-Aushandlung, aktiven Health-Checks und Stick-Table-Ratenbegrenzung.

Bereit für den Unternehmenseinsatz

Exportieren Sie einsatzbereite haproxy.cfg-Dateien, Docker Compose Stacks, Systemd-Units und Zero-Downtime-Reload-Befehle.

Technische Referenz & Architektur-Leitfaden

HAProxy Config Generator Entwickler-Referenz — Referenz-Leitfaden

Konfigurationsgenerator und Syntax-Prüfer in Produktionsqualität für HAProxy Load-Balancer.

Wichtige Parameter & Steuerelemente

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

HAProxy-Zielversion zur Gewährleistung der Keyword-Kompatibilität, Thread-Standardwerte und moderner TLS-Cipher-Suites.

Standard: '2.8'
mode'http' | 'tcp'

Proxy-Betriebsebene. Bestimmt, ob L7-HTTP-Header ausgewertet werden oder transparenter L4-TCP-Stream-Transport erfolgt.

Standard: 'http'
algorithm'roundrobin' | 'leastconn' | 'source' | 'uri' | 'first' | 'random'

Lastverteilungsstrategie zur Weiterleitung von Anfragen an gesunde Upstream-Serverknoten.

Standard: 'roundrobin'
enableRateLimitboolean

Richtet eine Stick-Table zur IP-basierten Ratenbegrenzung ein und verweigert Anfragen ab Schwellenwert mit HTTP 429.

Standard: false
enableAlpnH2boolean

Fügt der TLS-Bind-Direktive 'alpn h2,http/1.1' hinzu, um HTTP/2-Multiplexing zu aktivieren.

Standard: true

Profi-Tipps & Best Practices

Stick-Tables präzise abstimmen

Verwenden Sie kurze Ablaufzeiten von 10s bis 30s mit http_req_rate(10s), um den Arbeitsspeicherbedarf bei DDoS-Attacken gering zu halten.

Health-Check-Intervalle anpassen

Setzen Sie 'inter 3s fastinter 1s downinter 5s rise 2 fall 3', um kaskadierende Serverausfälle bei transienten Netzwerkschwankungen zu verhindern.

Zero-Downtime-Reloads absichern

Binden Sie 'stats socket ... expose-fd listeners' ein, um unterbrechungsfreie Master-Worker-Neustarts ohne verworfene Pakete zu garantieren.

Häufige Fallstricke & Fehlerbehebung

haproxy -c schlägt mit 'SSL certificate not found' beim Syntax-Test fehl

Stellen Sie sicher, dass sslCertPath auf eine kombinierte PEM-Datei mit Zertifikatskette und privatem Schlüssel verweist oder vor dem Test ein Dummy-Zertifikat angelegt wird.

Backend-Health-Checks melden 'L7STS: Layer7 invalid status 404'

Erweitern Sie 'option httpchk' um 'http-check send hdr Host meinedomain.de', falls Backend-Instanzen zwingend einen passenden Host-Header erfordern.

Stick-Table-Ratenbegrenzung sperrt versehentlich alle Clients hinter CDNs/Proxies

Ändern Sie den Tracking-Schlüssel von 'src' auf 'http-request track-sc0 hdr(CF-Connecting-IP)' oder 'hdr(X-Forwarded-For)', um echte Client-IPs zu tracken.

Häufig gestellte Fragen (FAQ)

Wie realisiert HAProxy unterbrechungsfreie Reloads unter systemd?▼

HAProxy nutzt den Master-Worker-Modus (-W) und die Socket-Übergabe via 'expose-fd listeners'. Der neue Worker übernimmt bestehende Listening-Sockets, während der alte Prozess Verbindungen auslaufen lässt.

Werden Konfigurationsdaten oder IP-Adressen an externe Server gesendet?▼

Die gesamte Konfigurationserstellung und Syntaxprüfung findet ausschließlich im lokalen Speicher Ihres Browsers statt. Es werden keinerlei Infrastrukturdaten übertragen.

Wie viel Arbeitsspeicher benötigt eine Stick-Table unter hoher Last?▼

Pro erfasster IPv4-Adresse werden ungefähr 64 Bytes belegt. Eine Tabelle mit 100.000 Einträgen (size 100k) beansprucht somit etwa 6,4 MB RAM im HAProxy-Prozess.

Warum verlangt HAProxy eine einzige kombinierte PEM-Datei für TLS?▼

HAProxy initialisiert TLS-Zertifikate über OpenSSL per Direktive in einem Durchlauf. Die PEM-Datei muss den privaten Schlüssel, das Serverzertifikat und Zwischenzertifikate enthalten.

Verwandte Werkzeuge & Dienstprogramme

Alle Werkzeuge →