Das Installieren und Konfigurierer von HA Proxy Installation, Dienststart und erste produktive Konfiguration des Reserve-Proxy

Von Thomas Joos 2 min Lesedauer

Anbieter zum Thema

„HA Proxy“ läuft als Reverse-Proxy vor TCP- und HTTP-Diensten und übernimmt zentral Lastverteilung, TLS-Terminierung und Health-Checks. Der Betrieb startet mit einer sauberen Installation, einem systemnahen Dienst-Setup und einer ersten Konfiguration für Frontend, Backend und Monitoring über Statistiken.

Autor Thomas Joos schreibt, wie sich „HA Proxy“ installieren und konfigurieren lässt. (Bild:  Thomas Joos)
Autor Thomas Joos schreibt, wie sich „HA Proxy“ installieren und konfigurieren lässt.
(Bild: Thomas Joos)

HA Proxy wird in produktiven Umgebungen entweder aus den Paketquellen der Distribution oder direkt aus dem Quellcode installiert. Der Einsatz aus den Paketquellen eignet sich für Standardumgebungen, da Pfade, Dienstdefinitionen und Abhängigkeiten bereits integriert sind.

Ein Build aus Quellen kommt dann zum Einsatz, wenn Funktionen wie „QUIC“, „Lua“ oder „PCRE2“ aktiviert bleiben sollen oder eine alternative Kryptobibliothek genutzt wird. Für die Installation aus Quellen benötigt das System eine vollständige Build-Umgebung. Auf Debian- und Ubuntu-Systemen installiert der Administrator zunächst die notwendigen Werkzeuge.

sudo apt-get updatesudo apt-get install build-essential

Nach dem Entpacken des HAProxy-Quellcodes erfolgt der Wechsel in das Quellverzeichnis. Die Kompilierung nutzt alle verfügbaren CPU-Kerne und aktiviert TLS, QUIC, Lua sowie PCRE2.

make cleanmake -j $(nproc) TARGET=linux-glibc USE_OPENSSL=1 USE_QUIC=1 USE_QUIC_OPENSSL_COMPAT=1 USE_LUA=1 USE_PCRE2=1

Die Installation kopiert das erzeugte Binary sowie die unterstützenden Dateien in die vorgesehenen Systempfade.

sudo make install

Für den Betrieb legt das System einen dedizierten Benutzer ohne Login-Shell an und trennt Konfiguration, Laufzeitdaten und Protokolle strikt voneinander.

useradd -r -s /usr/sbin/nologin haproxymkdir -p /etc/haproxymkdir -p /var/lib/haproxymkdir -p /var/log/haproxychown -R haproxy:haproxy /var/lib/haproxy

Der Dienstbetrieb erfolgt über systemd. Die Service-Definition startet HA Proxy mit einer festen Konfigurationsdatei und erlaubt Reloads ohne Abbruch bestehender Verbindungen. Gleichzeitig erhöht sie die Grenze für offene Dateien, damit hohe Verbindungszahlen stabil verarbeitet werden.

nano /etc/systemd/system/haproxy.service

Inhalt der Datei:

[Unit]Description=HAProxyAfter=network.target[Service]ExecStart=/usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg -WsExecReload=/usr/local/sbin/haproxy -c -f /etc/haproxy/haproxy.cfgUser=haproxyGroup=haproxyLimitNOFILE=100000[Install]WantedBy=multi-user.target

Nach dem Laden der Service-Datei aktiviert wir der Dienst dauerhaft aktiviert.

systemctl daemon-reloadsystemctl enable haproxy

HAProxy konfigurieren

Die grundlegende Konfiguration trennt Frontends und Backends und definiert Health-Checks für die angebundenen Systeme. Ein HTTP-Frontend nimmt eingehende Verbindungen entgegen und verteilt Requests an mehrere Backend-Server. Fällt ein Backend aus, entfernt HA Proxy dieses automatisch aus dem Pool.

nano /etc/haproxy/haproxy.cfg

Inhalt der Datei:

global log /dev/log local0 maxconn 50000defaults mode http timeout connect 5s timeout client 30s timeout server 30sfrontend http_in bind *:80 default_backend web_poolbackend web_pool balance roundrobin option httpchk server web1 10.0.0.10:80 check server web2 10.0.0.11:80 check

Vor dem ersten Start wird die Konfiguration geprüft:

haproxy -c -f /etc/haproxy/haproxy.cfg

Der anschließende Start des Dienstes erfolgt regulär über systemd.

systemctl start haproxy

Damit läuft HA Proxy als Reverse-Proxy vor den Backend-Systemen, verteilt Last, überwacht deren Zustand und erlaubt spätere Anpassungen ohne Unterbrechung bestehender Verbindungen.

(ID:50666394)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung