HAProxy ist eine leistungsstarke Open-Source-Software für Load Balancing und Proxying von TCP- und HTTP-Verbindungen. Diese Anleitung zeigt, wie HAProxy auf einem Ubuntu-Server installiert und konfiguriert wird.
Voraussetzungen
- Ubuntu 22.04 oder neuer
- Benutzer mit
sudo
-Rechten - Mindestens zwei Backend-Server zur Lastverteilung
1. HAProxy installieren
Aktualisieren der Paketlisten und Installation von HAProxy:
sudo apt update && sudo apt upgrade -y sudo apt install haproxy -y
2. HAProxy-Dienst verwalten
HAProxy starten, stoppen und aktivieren:
sudo systemctl start haproxy # Starten sudo systemctl stop haproxy # Stoppen sudo systemctl restart haproxy # Neustarten sudo systemctl enable haproxy # Automatischen Start aktivieren
3. Standardkonfiguration sichern
Vor Änderungen an der Konfiguration sollte die Originaldatei gesichert werden:
sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
4. HAProxy als Load Balancer konfigurieren
Bearbeiten der Konfigurationsdatei:
sudo nano /etc/haproxy/haproxy.cfg
Ersetzen oder Ergänzen des Inhalts mit folgender Konfiguration (Backend-Server anpassen):
frontend http_front bind *:80 default_backend web_servers backend web_servers balance roundrobin server web1 192.168.1.101:80 check server web2 192.168.1.102:80 check
Speichern mit STRG + X
, Y
und Enter
.
5. Konfiguration testen und HAProxy neu starten
Die Konfiguration auf Fehler prüfen:
sudo haproxy -c -f /etc/haproxy/haproxy.cfg
Falls keine Fehler vorliegen, HAProxy neu starten:
sudo systemctl restart haproxy
6. HAProxy-Statistikseite aktivieren (optional)
Um eine Weboberfläche mit Statistiken zu aktivieren, folgende Zeilen in /etc/haproxy/haproxy.cfg
hinzufügen:
listen stats bind *:8080 stats enable stats uri /stats stats refresh 10s stats auth admin:passwort
Neustart von HAProxy:
sudo systemctl restart haproxy
Die Statistikseite kann dann unter http://<server-ip>:8080/stats
aufgerufen werden.
7. Firewall konfigurieren
Falls ufw
aktiv ist, die benötigten Ports freigeben:
sudo ufw allow 80/tcp sudo ufw allow 8080/tcp # Falls die Statistikseite genutzt wird sudo ufw reload
8. Funktionstest
Nach der Einrichtung kann HAProxy getestet werden, indem im Browser die IP des Load Balancers aufgerufen wird:
http://<load-balancer-ip>
Die Anfragen sollten nun auf die konfigurierten Backend-Server verteilt werden.