Direkt zum Inhalt

Definition: HAProxy ist eine OpenSource Software, die einem oder mehreren Webservern vorgeschaltet werden kann, um bestimmte, vorher konfigurierte Prozesse zu übernehmen.

HAProxy kann man sich wie einen “Empfang” vor dem Webserver vorstellen. Stellt man sich eine Webseite wie ein großes Unternehmen mit mehreren Abteilungen vor, hat dieser Empfang wichtige Aufgaben:

  • Mitarbeiter von Kunden oder Fremden unterscheiden und nur autorisierten Personen Zugang gewähren

  • Kunden den richtigen Weg weisen

  • Benachrichtigungen in Empfang nehmen

  • etc.

Eine Webseite ist ähnlich aufgebaut: Sie hat verschiedene Verzeichnisse, es gibt Bereiche für angemeldete Nutzer sowie öffentliche Bereiche und es werden Anfragen an den Webserver gestellt. Der Webserver ist dabei der Hauptakteur und sorgt für die Bereitstellung der Inhalte. Er ist aber auch der Angriffspunkt für beispielsweise schädliche Anfragen. HAProxy wird als Software vor den Webserver geschalten und kann verschiedene Aufgaben übernehmen.

Anwendungsbeispiele von HAProxy

Einer der größten Vorteile von HAProxy ist seine Stabilität und Schnelligkeit. Dadurch können verschiedene Aufgaben, die sonst der Webserver übernehmen müsste, auf ihn vorgelagert werden.

Schädliche Anfragen

HAProxy kann schädliche Anfragen (Requests) vermeiden. Gemeint sind damit Anfragen zu nicht vorhandenen Login-Seiten, Anfragen von Spam-Bots oder auch massiv viele gleichzeitige Anfragen.

Wollen Angreifer über den Seiten-Login eine Webseite hacken, versuchen sie zum Teil, bekannte Login-URLs der gängigen Content Management Systeme aus. WordPress z. B. hat als Standard-Login-URL “/wp-login”. Auf einer Drupal-Seite lautet die Standard-URL “/user/login”. Eine URL wie “/wp-login” wird es höchstwahrscheinlich nicht geben, der Webserver hätte also unnötige Arbeit. In diesem Fall würde HAProxy so eingestellt, dass bei so einer Anfrage direkt eine 404-Seite zurückgegeben wird, ohne die Anfrage an den Webserver weiterzuleiten.

Es gibt zahlreiche Bots, die Webseiten crawlen. Dazu gehören auch die Bots der Suchmaschinen, welche dazu dienen, Webseiten zu indexieren. In der Regel ist dies auch gewünscht. Allerdings gibt es auch Spam-Bots, die dem Webseitenbetreiber keine “Hilfe” sind und so unnötig Serverkapazitäten verbrauchen. Diese Bots können, wenn ihre Kennung bekannt ist, von HAProxy ausgeschlossen werden, sodass ihre Anfragen nicht an den Webserver geleitet werden.

Eine Möglichkeit, einen Webserver zu überlasten, ist ihm in kurzer Zeit massiv viele Requests zu schicken. Auch hier kann HAProxy Requests ausschließen, um die Server-Uptime zu gewährleisten.

Serverentlastung bei der Nutzung von SSL / HTTPS

Werden mehrere Webseiten auf einem Webserver gehostet, können die SSL-Zertifikate der einzelnen Webseiten von HAProxy verwaltet werden: Die Anfrage des Clients gelangt zu HAProxy, welcher sie dann unverschlüsselt an den Webserver weiterleitet. Das hat zur Folge, dass der Webserver die Verschlüsselung nicht selbst verarbeiten muss, sondern direkt die Requests beantworten kann.

Load Balancing

Wird eine Webseite auf mehreren Webservern gehostet, kann HAProxy die Anfragen so aufteilen, dass die Webserver gleichmäßig belastet sind. In großen Rechenzentren können solche Systeme sogar die Serverleistung hochfahren bzw. weitere Webserver unterstützend hinzuschalten, sollte es zu einem Besucherhoch kommen.

Landesspezifische Zuteilung der Nutzer zum richtigen Server

Wird eine Webseite international betrieben und hat Webserver in verschiedenen Ländern verteilt, kann HAProxy so konfiguriert werden, dass Nutzeranfragen aus Land A an den richtigen Webserver für die Sprache A geleitet werden. Dies geschieht in der Regel anhand der IP-Adresse.

HAProxy ist eine von vielen Möglichkeiten, die Performance und Sicherheit von Webseiten zu erhöhen. Sollten auch Sie Interesse an einer Performance- und Sicherheitslösung für Ihre Webseite interessiert sein, freuen wir uns über Ihre Kontaktaufnahme. 0711 - 633 779 60 oder per E-Mail an info@arocom.de

Buchtipps