Benutzer-Werkzeuge

Webseiten-Werkzeuge


haproxy

Dies ist eine alte Version des Dokuments!


HAProxy ist eine kostenlose Open-Source-Software, die einen Hochverfügbarkeits-Load-Balancer (Layer 4 im OSI Modell) und Reverse-Proxy für TCP- und HTTP-basierte Anwendungen bereitstellt, die Anforderungen auf mehrere Server verteilen.

Installation

apt install haproxy

Hauptconfig unter:

/etc/haproxy/haproxy.cfg

Konfiguration

Global

Der globale Abschnitt befindet sich oben in Ihrer Konfigurationsdatei. Er definiert Anweisungen auf Prozessebene, beispielsweise die maximale Anzahl zulässiger Verbindungen, den Speicherort der Protokolle und den Benutzer und die Gruppe, unter der der Prozess ausgeführt werden soll. Das folgende Beispiel zeigt nur einige der verfügbaren Optionen:

global
  maxconn 60000
  log 127.0.0.1 local0
  log 127.0.0.1 local1 notice
  user  haproxy
  group haproxy
  chroot /var/empty

Defaults

In einem Abschnitt „defaults“ werden allgemeine Einstellungen gespeichert, die von den nachfolgenden Frontend- und Backend-Abschnitten übernommen werden. Er kann auch lange Konfigurationen durch Reduzierung doppelter Zeilen verkürzen. Beispiel für eine Standardkonfiguration: Durch Hinzufügen von Standardeinstellungen zur Konfiguration können Sie Einstellungen definieren, die gegebenenfalls von allen darunter liegenden Abschnitten übernommen werden. Beispielsweise ist „mode“ sowohl auf ein Frontend als auch auf ein Backend anwendbar, „balance“ hingegen nur auf Backends. Nicht alle Anweisungen können in „defaults“ aufgenommen werden, z.B. die Zeilen „bind“ und „server“.

defaults
  mode http
  balance roundrobin

# Inherits mode
frontend website
  bind :80
  default_backend web_servers

# Inherits mode and balance
backend web_servers
  server s1 192.168.1.25:80
  server s2 192.168.1.26:80

Frontend

Ein „frontend“ Abschnitt definiert die IP-Adressen und Ports, mit denen Clients eine Verbindung herstellen können. Sie können beliebig viele Frontend-Abschnitte hinzufügen, um verschiedene Websites oder Anwendungen im Internet verfügbar zu machen.

frontend myfrontend
  mode http
  bind :80
  bind :443 ssl crt /site.pem
   
  # Redirect HTTP to HTTPS
  http-request redirect scheme https unless { ssl_fc }
   
  default_backend web_servers

Backend

haproxy.1745225832.txt.gz · Zuletzt geändert: 2025/04/21 10:57 von jango