HAProxy ist eine leis­tungs­fä­hi­ge Open-Source-Software, die Last­ver­tei­lung und die Ein­rich­tung von Proxys für TCP- und HTTP-basierte An­wen­dun­gen er­mög­licht. Sie kann unter Debian 12 in wenigen Schritten in­stal­liert werden und wird häufig in hoch­ver­füg­ba­ren Systemen ein­ge­setzt, um Anfragen effizient zu verteilen und somit die Sta­bi­li­tät und Per­for­mance einer Anwendung zu ver­bes­sern.

Was ist HAProxy?

HAProxy (High Avai­la­bi­li­ty Proxy) ist ein per­for­man­ter und zu­ver­läs­si­ger Load Balancer und Reverse Proxy, der für die Ver­tei­lung von Netzwerk- und An­wen­dungs­ver­kehr genutzt wird. Die Anwendung un­ter­stützt sowohl Layer 4 (Transport Layer, z. B. TCP) als auch Layer 7 (Ap­pli­ca­ti­on Layer, z. B. HTTP) des OSI-Modells hin­sicht­lich des Load Ba­lan­cings. Dank seiner geringen Latenz, hohen Effizienz und um­fas­sen­den Kon­fi­gu­ra­ti­ons­mög­lich­kei­ten ist HAProxy für Un­ter­neh­men jeder Größe geeignet.

Un­ter­neh­men sowie Ent­wick­le­rin­nen und Ent­wick­ler nutzen HAProxy, um die Last auf mehrere Backend-Server zu verteilen, Ser­ver­aus­fäl­le ab­zu­fan­gen und die all­ge­mei­ne An­wen­dungs­leis­tung zu ver­bes­sern. Die Software spielt eine zentrale Rolle in vielen Web­in­fra­struk­tu­ren, ins­be­son­de­re bei hoch­ver­füg­ba­ren und ska­lier­ba­ren An­wen­dun­gen. Zu ihren Haupt­funk­tio­nen gehören SSL/TLS-Ter­mi­nie­rung, Health-Checks für Backend-Server, Rate Limiting und DDoS-Schutz­me­cha­nis­men.

Dedicated Server
De­di­zier­te Server mit mo­derns­ten Pro­zes­so­ren
  • 100 % En­ter­pri­se-Hardware
  • Kon­fi­gu­rier­ba­re Hardware-Aus­stat­tung
  • ISO-zer­ti­fi­zier­te Re­chen­zen­tren

Schritt-für-Schritt-In­stal­la­ti­on von HAProxy auf Debian 12

Schritt 1: System ak­tua­li­sie­ren

Bevor HAProxy in­stal­liert wird, sollte Ihre Linux-Dis­tri­bu­ti­on ak­tua­li­siert werden. Dies stellt sicher, dass alle Pakete aktuell sind und die In­stal­la­ti­on rei­bungs­los funk­tio­niert.

Folgender Befehl ak­tua­li­siert die Pa­ket­lis­ten und in­stal­liert alle ver­füg­ba­ren Updates für Debian 12:

sudo apt update && sudo apt upgrade -y
bash

Schritt 2: HAProxy in­stal­lie­ren

Debian 12 enthält HAProxy in seinen of­fi­zi­el­len Pa­ket­quel­len, sodass die In­stal­la­ti­on einfach mit dem in­te­grier­ten Pa­ket­ma­na­ger apt erfolgen kann.

sudo apt install haproxy -y
bash

Dieser Befehl lädt HAProxy herunter und in­stal­liert es mit allen be­nö­tig­ten Ab­hän­gig­kei­ten.

Schritt 3: HAProxy-Version über­prü­fen

Nach der In­stal­la­ti­on sollte überprüft werden, ob HAProxy er­folg­reich in­stal­liert wurde. Dies können Sie tun, indem Sie die in­stal­lier­te Version von HAProxy abrufen:

haproxy -v
bash

Die Ausgabe sollte in etwa so aussehen:

Bild: Screenshot der aktuellen HAProxy-Version im Terminal
Nachdem Sie den Befehl aus­ge­führt haben, wird Ihnen die aktuell in­stal­lier­te Version von HAProxy in Ihrem Terminal angezeigt.

Damit ist si­cher­ge­stellt, dass HAProxy korrekt in­stal­liert wurde.

Schritt 4: HAProxy als Dienst ak­ti­vie­ren

Damit HAProxy au­to­ma­tisch beim Sys­tem­start startet und dauerhaft läuft, muss der Dienst aktiviert und gestartet werden.

sudo systemctl enable haproxy
sudo systemctl start haproxy
bash

Um schließ­lich zu über­prü­fen, ob der Dienst er­folg­reich läuft, kann folgender Befehl genutzt werden:

sudo systemctl status haproxy
bash

Wenn HAProxy korrekt läuft, sollte eine Ausgabe mit active (running) er­schei­nen, die in etwa fol­gen­der­ma­ßen aussieht:

Bild: Screenshot des aktuellen HAProxy-Status im Terminal
Sie erkennen in der Ter­mi­nal­aus­ga­be am Status „active (running)“, dass HAProxy jetzt ohne Probleme funk­tio­niert.

Schritt 5: Grund­le­gen­de Kon­fi­gu­ra­ti­on von HAProxy

Die Kon­fi­gu­ra­ti­ons­da­tei von HAProxy befindet sich unter dem Dateipfad /etc/haproxy/haproxy.cfg. Bevor Än­de­run­gen vor­ge­nom­men werden, ist es ratsam, eine Si­che­rungs­ko­pie zu erstellen, auf die Sie im Zweifel bei Feh­ler­fäl­len zu­rück­grei­fen können:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
bash

Nun kann die Datei mit einem Editor Ihrer Wahl (wie zum Beispiel Vim oder nano) be­ar­bei­tet werden:

sudo nano /etc/haproxy/haproxy.cfg
bash

Eine einfache HAProxy-Kon­fi­gu­ra­ti­on könnte so aussehen:

global
	log /dev/log local0
	log /dev/log local1 notice
	chroot /var/lib/haproxy
	stats socket /run/haproxy/admin.sock mode 660 level admin
	stats timeout 30s
	user haproxy
	group haproxy
	daemon
defaults
	log global
	option httplog
	option dontlognull
	timeout connect 5000ms
	timeout client 50000ms
	timeout server 50000ms
frontend http_front
	bind *:80
	default_backend web_servers
backend web_servers
	balance roundrobin
	server server1 192.168.1.10:80 check
	server server2 192.168.1.11:80 check
txt

Diese Kon­fi­gu­ra­ti­on verteilt HTTP-Anfragen auf zwei Webserver im Round-Robin-Verfahren. Sie ist in mehrere Ab­schnit­te un­ter­teilt. Zunächst gibt es den globalen Abschnitt, der grund­le­gen­de Ein­stel­lun­gen für HAProxy definiert. Hier wird bei­spiels­wei­se fest­ge­legt, unter welchem Be­nut­zer­kon­to HAProxy läuft, wie viele gleich­zei­ti­ge Ver­bin­dun­gen erlaubt sind und wo die Logs ge­spei­chert werden. Zudem kann ein chroot-Ver­zeich­nis definiert werden, um HAProxy in einer ein­ge­schränk­ten Umgebung aus­zu­füh­ren und so die Si­cher­heit zu erhöhen.

Nach den globalen Ein­stel­lun­gen folgt der defaults-Abschnitt, in dem Stan­dard­wer­te für alle nach­fol­gen­den Kon­fi­gu­ra­tio­nen fest­ge­legt werden. Hier wird bei­spiels­wei­se bestimmt, dass HAProxy im HTTP-Modus arbeitet und HTTP-Logging aktiviert ist. Außerdem werden diverse Timeouts definiert.

Die weiteren Ab­schnit­te der Kon­fi­gu­ra­ti­ons­da­tei, wie frontend und backend, steuern den ei­gent­li­chen Da­ten­ver­kehr. Im Frontend-Abschnitt wird fest­ge­legt, auf welchen Ports HAProxy Anfragen annimmt und wie diese wei­ter­ge­lei­tet werden. Der Backend-Abschnitt definiert dann die Server, an die der Traffic wei­ter­ge­lei­tet wird. Hier können Load-Balancing-Al­go­rith­men verwendet werden.

Nach dem Be­ar­bei­ten müssen Sie die Datei speichern und HAProxy neu starten:

sudo systemctl restart haproxy
bash

Die In­stal­la­ti­on von HAProxy auf Debian 12 ist nun ab­ge­schlos­sen. Die Kon­fi­gu­ra­ti­on lässt sich durch Än­de­run­gen an der Kon­fi­gu­ra­ti­ons­da­tei jederzeit anpassen.

GPU Server
De­di­zier­te Hardware mit hoch­per­for­man­ter Gra­fik­kar­te

Greifen Sie beim Handling großer Da­ten­men­gen flexibel auf GPU-gestützte Re­chen­leis­tung zurück. Mit Pay-as-you-go zahlen Sie nur, wenn Sie die Res­sour­cen tat­säch­lich benötigen – mi­nu­ten­ge­nau ab­ge­rech­net.

Zum Hauptmenü