Skip to main content
Skip table of contents

HAProxy

Installation

Als erstes müssen Sie das HAProxy-Plugin (os-haproxy) aus der Plugin-Ansicht installieren.

Erster Schritt: Backend-Server konfigurieren


Klicken Sie auf der Seite „Servers“ auf (+), um einen Dialog zum Anlegen eines neuen Servers zu öffnen. Ein Server besteht aus einem Namen, einer IP und einem Port. Legen Sie für jeden Server, den Sie ausbalancieren wollen, einen Eintrag an.


Für ein HTTP-Backend konfigurieren Sie wie folgt:

Name

Name dieses Servers

Beschreibung

Leer halten

FQDN oder IP

Geben Sie die IP Ihres Servers ein

Port

Port des Servers

SSL

Standardeinstellung beibehalten (deaktiviert)

SSL-Zertifikat prüfen

Standard beibehalten (markiert)

SSL Verify CA

Behalten Sie die Voreinstellung (leer)

Zweiter Schritt: Konfigurieren Sie ein Backend

Nun, da wir die Backend-Dienste haben, können wir ein Backend aufbauen, indem wir sie zu Gruppen von Servern kombinieren, die denselben Dienst bedienen werden. Wenn Sie z. B. einen Webservice hosten und horizontal skalieren möchten, ist jeder Server im Cluster ein „Server“, aber sie werden zu einem so genannten „Backend“ kombiniert, so dass HAProxy einen Lastausgleich zwischen ihnen durchführen kann.

Um ein neues Backend zu erstellen, klicken Sie auf das (+).

Und füllen Sie das Formular aus:

Das Feld „Balancing Algorithm“ ist wichtig zu beachten, da viele Webanwendungen von einem Zustand abhängen. Wenn Ihre Webanwendung z. B. Sitzungsdaten auf einer lokalen Festplatte speichert, können Sie bei Verwendung eines Algorithmus wie Round Robin Probleme bekommen. In einem solchen Fall muss die Anfrage desselben Clients immer an dieselben Backend-Server gesendet werden. Zum Beispiel speichert PHP standardmäßig Sitzungsdaten in Dateien, während Ruby on Rails standardmäßig Sitzungsinformationen in einem Cookie speichert. Bitte schauen Sie in der Dokumentation Ihres Web-Frameworks nach, wie dies gehandhabt wird. Betrachten Sie auch das Schreiben von Dateien als problematisch, wenn kein gemeinsamer Speicher vorhanden ist.

Aktiviert

Aktivieren Sie das Backend (markiert)

Name

Geben Sie einen Namen für das Backend ein

Beschreibung

Geben Sie eine optionale Beschreibung ein

Modus

Wählen Sie den Modus HTTP, da es sich um ein HTTP-Backend handelt

Ausgleichsalgorithmus

Wählen Sie einen Lastausgleichsalgorithmus

Server

Wählen Sie die zuvor konfigurierten Server aus

Dritter Schritt: Bedingungen konfigurieren

In diesem Schritt muss eine Bedingung erstellt werden, die später verwendet wird, um zu entscheiden, welcher Verkehr von einem Frontend zu welchem Backend gehört.

Um eine neue Bedingung zu erstellen, müssen Sie zu „Regeln & Prüfungen -> Bedingungen“ gehen und eine durch Klicken auf die Schaltfläche „+“ erstellen:

(Das Bild ist von der Vorgängerversion, aber es sieht immer noch so gut aus wie die gleiche)


Im geöffneten modalen Dialog erscheint das folgende Formular:


Name

Wählen Sie einen Namen für diese Bedingung

Beschreibung

Lassen Sie das Feld leer oder wählen Sie eines für Ihre Informationen aus

Ausdruck

Wählen Sie „Host enthält“

Negative Bedingung

Unkontrolliert lassen

Wert

Geben Sie den zu vergleichenden (Teil-)Hostnamen ein

Klicken Sie auf „Änderungen speichern“.

Vierter Schritt: Konfigurieren Sie eine Regel

Wie im vorherigen Schritt versprochen, werden die Bedingungen verwendet. Eine Regel kann mehrere Bedingungen verwenden, um zu entscheiden, welche Regel verwendet werden soll. Um eine neue Regel zu erstellen, müssen Sie zu „Rules & Checks -> Rules“ gehen und eine erstellen, indem Sie auf die Schaltfläche „+“ klicken:

(Das Bild ist von der Vorgängerversion, aber es sieht immer noch so gut aus wie die gleiche)


Ein Formulardialog öffnet sich und wir können ihn wie folgt ausfüllen:

(Das Bild ist von der Vorgängerversion, aber es sieht immer noch so gut aus wie die gleiche)


Sie können mehrere Hostnamen demselben Backend zuordnen, indem Sie mehrere ACLs hinzufügen und den logischen Operator „OR“ wählen.

Name

Wählen Sie einen Namen für diese Aktion

Beschreibung

Sie können eine optionale Beschreibung hinzufügen

Testtyp

Belassen Sie es bei der Voreinstellung („IF“)

ACLs auswählen

Wählen Sie die zu verwendenden ACLs

Logischer Operator

Behalten Sie die Voreinstellung („AND“) bei

Aktion wählen

Wählen Sie „Backend verwenden“

Benutzung Server

Behalten Sie die Voreinstellung („keine“)

Fünfter Schritt Konfigurieren Sie ein Frontend

Nun ist es fast fertig. Das Einzige, was für den HAProxy noch konfiguriert werden muss, ist ein Public Service. Ein Public Service ist eine Gruppe von gebundenen Ports, die für eingehende Verbindungen verwendet werden. Von diesem Public Service müssen wir wissen, an welches Backend die Anfrage weitergeleitet werden soll. Hierfür wird die zuvor konfigurierte Aktion benötigt. Wenn Sie mehrere Domains mit demselben Port auf einer IP haben, unterscheiden Sie diese mit Regeln! Legen Sie nicht mehrere öffentliche Dienste an. Wenn Sie z. B. nur example.org:80 und example.com:80 weiterleiten wollen, erstellen Sie nur einen Öffentlichen Dienst. Wenn Sie example.org:80, example.org:443, example.com:80 und example.com:443 weiterleiten wollen, erstellen Sie nur zwei Öffentliche Dienste, einen für Port 80 (example.org und example.com) und einen für Port 443 (example.org und example.com).

Um einen neuen öffentlichen Dienst zu erstellen, klicken Sie auf die Schaltfläche (+):

(Das Bild ist von der Vorgängerversion, aber es sieht immer noch so gut aus wie die gleiche)


Der folgende modale Dialog öffnet sich und das Frontend kann eingerichtet werden:


Wenn Sie einen Port konfigurieren, der bereits verwendet wird, ist der Konfigurationstest zwar erfolgreich, aber der Start von HAProxy schlägt lautlos fehl. Bitte stellen Sie sicher, dass der verwendete Port frei ist - insbesondere wenn die Nummer mit der Web-Konfiguration des Schulrouter Plus kollidiert.

Allgemeine Einstellungen

Aktiviert

Ausgewählt

Name

Beliebigen Namen verwenden

Beschreibung

Sie können es leer lassen

Adresse anhören

Geben Sie eine oder mehrere Host:Port-Kombinationen ein, verwenden Sie 0.0.0.0:80 für HTTP über IPv4

Typ

Wählen Sie HTTP / HTTPS

Standard-Backend

Behalten Sie die Voreinstellung „Keine“ bei

Erweiterte Einstellungen

Aktivieren Sie den X-Forwarded-For-Header, damit das Backend die echte IP des Clients kennt.

Aktionen (ACLs)

Hier müssen Sie die zuvor konfigurierten Aktionen aktivieren, damit der HAProxy aufgrund der Regeln/Bedingungen arbeitet.

Alle anderen Optionen

Alle anderen Optionen auf dem Standardwert belassen

Sechster Schritt: Aktivieren und starten

Dies ist der letzte Schritt - auf der Registerkarte „Allgemein“ werden wir den Dienst nach einem Konfigurationstest aktivieren.

Dazu muss das Kontrollkästchen „Enable HAProxy“ aktiviert werden.


Aktivieren Sie in diesem Bildschirm „HAProxy aktivieren“ und klicken Sie auf „Übernehmen“. Wenn alles gut gelaufen ist, wird HAProxy gestartet. Nun müssen Sie Firewall-Regeln für den Zugriff auf Ihre HAProxy-Instanz konfigurieren.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.