Allgemeine bewährte Vorgehensweisen für die Lastverteilung auf Ihrem Ursprungsserver mit Cloudflare

Hier erfahren Sie, wie Sie Ihre derzeitige Lastverteilungslösung in Cloudflare integrieren.


Übersicht

Beachten Sie bei der Integration in Cloudflare die folgenden bewährten Vorgehensweisen, wenn Sie Load Balancer innerhalb der Hostumgebung Ihrer Website nutzen:

  1. Die DNS-Lastverteilung von Cloudflare
  2. HTTP keep-alive
  3. Sitzungs-Cookies
  4. Railgun

DNS-Lastverteilung

Die Cloudflare-Lastverteilungsfunktion unterstützt DNS-basierte Lastverteilung mit aktiven Statusprüfungen gegen Ihre Ursprungsserver. Sie erweitert das vorhandene Anycast-DNS-Netzwerk von Cloudflare und bietet DDoS-sicheres Failover (Umgehung fehlerhafter Ursprungsserver) und Geosteuerung (Nutzer werden zu spezifischen Ursprungspools weitergeleitet).

HTTP keep-alive (Persistente HTTP-Verbindung)

Cloudflare hält Keep-Alive-Verbindungen aufrecht, um die Performance zu verbessern und den Aufwand für wiederholte TCP-Verbindungen in der Anfragetransaktion zu verringern, wenn der Cloudflare-Proxy den Kundentraffic vom Edge-Netzwerk zum Ursprungsserver der Website weiterleitet.

Aus diesem Grund wird dringend empfohlen, auf dem Load Balancer die HTTP-Keep-Alive-Verbindungen zu aktivieren und den Keep-Alive-Timeout auf mindestens 300 Sekunden festzulegen. Dies entspricht den Cloudflare-Standardeinstellungen.

Dadurch wird vermieden, dass Verbindungen für Anfragen, die über den Cloudflare-Proxy laufen, vorzeitig zurückgesetzt werden, oder dass der Load Balancer Timeouts hervorruft.

Sitzungs-Cookies

Wenn die Nutzersitzungen beim Load Balancer mithilfe von HTTP-Cookies verfolgt und an einen bestimmten Anwendungsserver gebunden werden, sollte der Load Balancer am besten so konfiguriert werden, dass HTTP-Anfragen nach Cookie-Headern geparst und jede Anfrage an den richtigen Anwendungsserver weitergeleitet wird, selbst wenn die HTTP-Anfragen wegen des Keep-Alive die gleiche TCP-Verbindung nutzen.

Zum Beispiel: F5 BIG-IP Load Balancer setzen zu Beginn einer TCP-Verbindung ein Sitzungs-Cookie (wenn keines vorhanden ist) und ignorieren dann alle bei folgenden HTTP-Anfragen auf dem gleichen TCP-Socket übergebenen Cookies. Dadurch wird häufig die Session Affinity zerstört, denn Cloudflare sendet mehrere verschiedene HTTP-Sitzungen über die gleiche TCP-Verbindung. (Auf HTTP-Cookies basierende Session Affinity).

Railgun (WAN Optimization)

Das ideale Setup beim Einsatz von Railgun und einem Load Balancer besteht darin, den Railgun Listener vor den Load Balancer zu platzieren. Das ist deshalb ideal, weil der LB die HTTP/S-Verbindungen ganz normal abwickeln kann, während die Lastverteilung bei der langlebigen TLS-Verbindung zwischen Sender und Listener schwierig ist.



Weil Railgun als HTTP-Reverse-Proxy fungiert, sollten die Einstellungen des Load Balancers mit denen ohne Railgun identisch sein (d. h., HTTP-Keep-Alive-Verbindungen sollten aktiviert und auf einen Timeout von 90 Sekunden eingestellt sein).

Wenn Railgun hinter dem Load Balancer platziert wird, funktioniert dieses Setup auch, erfordert aber zusätzliche Schritte, um Störungen durch den Website-Traffic zu vermeiden:

  1. Konfigurieren Sie die Datei railgun-nat.conf so, dass die interne Adresse der von Railgun optimierten Hosts eingestellt wird (damit die Anfrage keine Schleife verursacht, einmal ins Internet und dann wieder zurück zum LB zur Weiterleitung an den Ursprungsserver).
  2. Vergewissern Sie sich, dass keine Firewall-Regeln vorhanden sind, die den Traffic zwischen dem Listener und dem Ursprungsserver behindern oder seine Bandbreite einschränken.
  3. Vergewissern Sie sich, dass Port 2408 offen ist und für die TLS-Verbindung zwischen Listener und Sender ungehindert den LB passieren kann. 

Verwandte Themen

Cloudflare-Lastverteilung konfigurieren

 

 

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

Powered by Zendesk