Ein Load Balancer sorgt dafür, dass eingehende Anfragen auf mehrere Server verteilt werden, um die Last zu verteilen, die Performance zu verbessern und die Ausfallsicherheit zu erhöhen. HAProxy ist ein weit verbreiteter, leistungsfähiger Layer-4 und Layer-7 Load Balancer für Linux, der sich sowohl für kleine Homelabs als auch für produktive Unternehmensumgebungen eignet.
HAProxy installieren
Auf Debian- oder Ubuntu-Systemen erfolgt die Installation über APT:
sudo apt update
sudo apt install haproxy
Auf RHEL/CentOS-Systemen nutzen Sie DNF oder YUM:
sudo dnf install haproxy
# oder
sudo yum install haproxy
Grundkonfiguration von HAProxy
Die zentrale Konfigurationsdatei befindet sich unter /etc/haproxy/haproxy.cfg. Ein einfaches Setup für HTTP-Load-Balancing 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
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
Frontend und Backend einrichten
frontend http_front
bind *:80
default_backend web_servers
backend web_servers
balance roundrobin
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check
Erläuterung der wichtigsten Parameter
- frontend: Empfangspunkt für eingehende Verbindungen
- bind: IP-Adresse und Port, auf dem HAProxy lauscht
- default_backend: Standard-Backend, an das die Anfragen weitergeleitet werden
- backend: Definition der Gruppe von Servern, die die Anfragen bearbeiten
- balance: Load-Balancing-Methode (z. B. roundrobin, leastconn)
- server: Zielserver mit IP, Port und optionalem Health-Check (
check)
Health Checks konfigurieren
Mit Health Checks prüft HAProxy regelmäßig, ob die Backend-Server erreichbar sind. Ein HTTP-Check kann so eingerichtet werden:
backend web_servers
balance roundrobin
option httpchk GET /health
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check
Statistikseite aktivieren
Die HAProxy-Statistikseite ermöglicht eine schnelle Übersicht über den Zustand der Server:
listen stats
bind *:8080
stats enable
stats uri /haproxy?stats
stats auth admin:password
HAProxy starten und aktivieren
Damit HAProxy automatisch beim Systemstart läuft:
sudo systemctl enable haproxy
sudo systemctl start haproxy
sudo systemctl status haproxy
Erweiterte Load-Balancing-Strategien
- Roundrobin: Gleichmäßige Verteilung der Anfragen
- Leastconn: Neue Verbindungen werden an den Server mit den wenigsten aktiven Sessions gesendet
- Source: Verbindungen von derselben IP werden immer an denselben Server geleitet (Session-Persistence)
- Layer-7 Routing: URL-basiertes Routing zu unterschiedlichen Backends
Sicherheit und Performance
Empfehlungen für den produktiven Einsatz:
- Firewall-Regeln nur für die HAProxy-Ports öffnen
- SSL/TLS über
frontendterminieren oder über ein Reverse-Proxy-Setup - Keepalived für Hochverfügbarkeit kombinieren
- Logs analysieren und Limits für Verbindungen setzen
- Health Checks regelmäßig überprüfen
Tipps für Troubleshooting
- Fehlerhafte Konfiguration testen:
haproxy -c -f /etc/haproxy/haproxy.cfg - Live-Log mit
tail -f /var/log/haproxy.logüberwachen
- Backend-Server direkt prüfen:
curl http://192.168.1.10/ - Verbindungen zählen:
echo "show stat" | socat stdio /run/haproxy/admin.sock
Fazit
HAProxy ist ein leistungsfähiger Load Balancer für Linux-Server, der sowohl einfache als auch komplexe Szenarien abdeckt. Mit korrekter Konfiguration, Health Checks, Statistikseite und Sicherheitsmaßnahmen kann HAProxy die Performance verbessern und die Verfügbarkeit von Diensten sicherstellen. Für Unternehmensumgebungen empfiehlt sich die Kombination mit Hochverfügbarkeitslösungen wie Keepalived.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











