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.

Kategorien: Allgemein