HAProxy ist in ersten Linie ein Reverse Proxy Server. Dieser ist in der Architektur als Eingangsknoten für Webserver zu betrachten. Genau dabei kommen jetzt schon die Vorteile von HAProxy. Dieser wird vor einen oder mehreren Webserver geschaltet und kann dort dann die unterschiedlichsten Aufgaben übernehmen. Die Einstellungs- und Filtermöglichkeiten sind sehr vielfältig und akkurat. Dabei kann er trotzdem mit Übersichtlichkeit und sehr guter Performance glänzen. Aus der Sicht einer Webserverlandschaft ist ein Reverseproxy-Server wie HAProxy nicht mehr wegzudenken.

HAProxy kann vielseitig eingesetzt werden wie z.B. für:

  • Loadbalancing
  • Schädliche Anfragen filtern
  • Bots managen und den richtigen Weg weisen (z.B. Google-Bot)
  • Zugriffe begrenzen
  • Serverentlastung durch intelligentes weiterleiten
  • Länderspezifische Weiterleitungen
  • Webserverlandschaften abgrenzen (z.B. Subdomains explizite Zuweisungen)
  • Unterstützung bei Wartungsarbeiten

Loadbalancing ist seine Hauptaufgabe

Wird eine Webseite auf mehreren Webservern gehostet, dann ist HAProxy in der Lage die Anfragen für diese Webseite intelligent weiterzuleiten. Welche Intelligenz dabei zum Einsatz kommt obliegt euch selber. HAProxy bringt natürlich diese Optionen mit. Ein einfaches und zu empfehlendes Round Robin ist natürlich auch dabei. Aber es ist z.B. auch möglich dies anhand von offenen Verbindungen zu den einzelnen Webservern zu entscheiden welche Anfrage zu welchem Server gelangt.

Ein weiterer Vorteil von Loadbalancing ist z.B. auch eure Ausfallsicherheit. Ist einer der Webserver momentan nicht erreichbar, bemerkt HAProxy dies mit Hilfe von regelmäßigen Healthchecks und nimmt den “nicht erreichbaren” Webserver aus seiner Loadbalancingliste raus. 

Statistiken unterstützen euch bei der Arbeit

Wenn ich eins besonders an HAProxy schätze, dann ist es die Statistikseite wo alle Zugriffe bis ins Detail geloggt und ausgewertet werden. Anzahl von Zugriffen auf einzelne Webserver, übertragene Datenmengen, geöffnete Sessions, alles ist schön tabellarisch aufgelistet und Ablesbar. Anhand von diesen Daten können Rückschlüsse auf eure Zugriffe gezogen werden und Ihr könnt ggf. einlenken bei Problemen oder Überkapazitäten erkennen und anderswertig verwenden.

HAProxy filtert Zugriffe bestens

Das Filtern von Zugriffen mit HAProxy ist auch ein mächtiges Feature und kann so einiges. Zum Beispiel zum Schutz vor einer DDoS Attacke kann es eine Teilleistung miterbringen. Es können Requestslimits gesetzt werden pro Client z.B. Wenn HAProxy dann bemerkt, dass ein Client viel zu schnell und viel zu häufig Anfrage versendet, kann dieser ausgeschlossen werden, ohne das dieser zum Ziel weitergeleitet wird. So wird der Webserver im Backend nicht belastet oder eben belästigt. 🙂 

Es ist aber zudem auch möglich Zugriff über Country Codes zu verbieten. Kommt eine IP-Addresse aus einer Region dieser Welt welche ich ausschließen möchte, dann ist das mit HAProxy ohne Probleme möglich. Aber eben auch genau das Gegenteil kann genutzt werden. Wird ein Country Code erkannt, kann direkt die entsprechende Sprache auf dem entsprechenden Server ausgewählt werden. 

Lastspitzen Abfangen, sowie frühzeitig erkennen

Mittels HAProxy kann man nach belieben weitere Webserver ins Backend verschieben und so vorhersehbare Lastspitzen abfedern ohne dass der Benutzer lange Ladezeiten in kaufen nehmen muss. Die Cloud bietet genau solche Methoden an einfach, flexibel und schnell weitere Server hinzuzufügen und zu einem späteren Zeitpunkt wieder zu entfernen. Das erkennen von Lastspitzen ist natürlich ein gewisses Fingerspitzengefühl und muss natürlich auch im Einklang mit den Servern ansich sein. Aber wenn ich weis, ich präsentiere mittags um 12 Uhr ein neues Produkt, dann kann ich bereits vorher abschätzen das der Andrang groß sein wird und kann entsprechend in Ruhe vorher aggieren.

Schlusswort

HAProxy bzw. ein Reverse Proxy ist meiner Meinung nach in einer Webserverlandschaft nicht mehr wegzudenken. Diese erleichtern die Arbeit enorm und bieten die verschiedene Möglichkeiten die Benutzererfahrung auf der Page positiv zu halten. Ich jedenfalls nutze mittlerweile für alle meine Webseiten den HAProxy als Eingangsknoten zu den Sites.