Migration von Nginx Load Balancer zu ZEVENET ADC

VERÖFFENTLICHT AM 22. November 2022

Übersicht

Der Lastausgleich über mehrere Instanzen einer Anwendung hinweg ist eine großartige Möglichkeit, die Leistung zu verbessern, indem Überlastung und Latenz reduziert und die Bereitstellung durch Zwischenspeichern statischer Ressourcen erhöht wird.

Obwohl Nginx beim Webserving einen großartigen Zweck erfüllt, weist die Plattform viele Komplexitäten auf. Mit zunehmendem Datenverkehr wird es schwieriger, Datenverkehr auf Ebene 4 und Ebene 7 auszugleichen, ohne die Sicherheit zu opfern. Aus diesem Grund benötigen Sie einen Load Balancer mit erweiterten Funktionen, der die Kontrolle über eine Geschäftsanwendung über eine leicht zugängliche Benutzeroberfläche bietet.

In diesem Artikel werden wir erörtern, wie Nginx-Load-Balancer-Konfigurationen auf ZEVENET ADC übertragen werden.

Voraussetzungen:

Um diesem Leitfaden zu folgen, stellen Sie sicher, dass Sie die folgenden Benchmarks erfüllen.

  1. Eine Instanz der ZEVENET-Appliance muss auf Ihrer Workstation oder einer Cloud-Plattform installiert sein. Fordern Sie eine Bewertung an wenn Sie noch keine Instanz installiert haben.
  2. Sie müssen Zugriff auf das Webpanel haben. Wenn Sie dies nicht tun, folgen Sie dieser schnell Installationsanleitung.
  3. Nginx ist für Sie ein Kinderspiel, aber Sie sind mit seinen Load-Balancing-Funktionen nicht zufrieden. Sie brauchen also ZEVENET, um einzugreifen.
  4. Ein virtueller Server ist für die Verteilung des Datenverkehrs auf Backend-Server unerlässlich. Wenn Sie noch keine erstellt haben, befolgen Sie diese Anleitung dazu Erstellen eines virtuellen Layer-4- und Layer-7-Servers (Farm)

Grundlegende Konzepte

stromaufwärts: Die Upstream-Direktive definiert einen Cluster von Servern, die eine Webanwendung hosten. Normalerweise wird Upstream innerhalb des HTTP-Kontexts definiert. In ZEVENET ADC ist die Dienstleistungen Abschnitt enthält einen Backend-Unterabschnitt zum Verwalten von Hostservern.

hören: Die Listen-Option definiert, welchen Port Nginx auf eingehenden Datenverkehr aus dem Internet überwacht. ZEVENET verwendet a Virtueller Hafen um auf eingehenden Datenverkehr zu horchen durch a Farm.

Standort: Der Standortkontext ermöglicht es Ihnen, Anweisungen zu den Verzeichnissen zu geben, um Daten aus HTML-Dateien abzurufen.

Proxy_Pass: Diese Direktive wird verwendet, wenn der Standort von Proxy-Servern angegeben wird. In der Regel ist der Ort der Wert der vorgelagerten Direktive zugeordnet. Ein ähnliches Konzept in ZEVENET ist a Farm. Hier definieren Sie eine IP-Adresse und einen Port, die mit einem Dienst verbunden sind, der Backend-Server enthält.

Server: Diese Direktive gibt einen Server an, der eine Anwendung hostet, indem er seine IP-Adresse im IPv4- oder IPv6-Format verwendet. Im Serverblock definieren Sie die Standorte Richtlinie, die HörerUnd der das Richtlinie. Sie können einen Server in ZEVENET über die definieren Backend .

ssl_ciphers und ssl_protocols: Die Direktiven ssl_ciphers und ssl_protocol werden verwendet, wenn die Verbindung auf die stärksten oder neuesten SSL/TLS-Versionen beschränkt wird. Einige dieser Protokolle umfassen TLSV1 und TLSV2. Die Standardverschlüsselung mit nginx ist HIGH:!aNULL:!MD5. Um Chiffren zu verwenden und SSL-Protokolle in ZEVENET anzupassen, müssen Sie den HTTPS-Listener verwenden. Greife auf ... zu HTTPS-Parameter innerhalb der globalen Einstellungen dieser Farm.

Beispielkonfigurationen: Aktivieren von Sticky-Sitzungen

Sitzungspersistenz, auch bekannt als Sticky Sessions, ist eine Technik, die beim Lastenausgleich verwendet wird, um sicherzustellen, dass Anforderungen von einem Client für die Dauer einer Sitzung an denselben Server in einem Cluster gesendet werden. Dies wird häufig verwendet, um den Status aufrechtzuerhalten oder sicherzustellen, dass Ressourcen wie Dateien oder Daten während der gesamten Sitzung für den Client verfügbar sind. Es gibt mehrere Möglichkeiten, die Sitzungspersistenz zu implementieren, einschließlich der Verwendung von Cookies oder der Affinität von IP-Adressen. Die verwendete Methode hängt von den spezifischen Anforderungen der Anwendung und der Lastausgleichsarchitektur ab.

Nginx-Konfigurationen

Nginx hat hauptsächlich zwei Methoden zum Aktivieren der Sitzungspersistenz, dh die Verwendung von hash_ip Load-Balancing-Methode und die Verwendung von klebrige Kekse.

Hash_ip: Die Hash_ip-Lastenausgleichsmethode erfasst die Ziel- und Quell-IP-Adressen und verwendet sie, um eine eindeutige Identität für eine hergestellte Verbindung zu bilden.

upstream backendServers {
	hash_ip;
	server 192.168.0.112;
	server 192.168.0.115;
}

Klebriger Keks: Sie können auch Sticky Cookies verwenden, indem Sie a definieren klebriger Keks Option innerhalb des Upstream-Kontexts.

upstream backendServers {
	server 192.168.0.112;
	server 192.168.0.116;
	sticky cookie zensessionid expires=2h domain=.example.com path="/";
}

zensessionid identifiziert ein Cookie und seinen zugehörigen Server eindeutig. Aus der obigen Konfiguration wird das cookie abläuft in 2 Stunden.

ZEVNET-Konfigurationen

So aktivieren Sie die Cookie-Persistenz bei Verwendung des ZEVENET-Load-Balancers:

  1. Gehen Sie zu LSLB> Bauernhöfe und klicken Sie auf Bearbeiten Symbol auf einer HTTP-Farm.
  2. Navigieren Sie zu der Dienstleistungen Tab.
  3. Scrollen Sie, bis Sie das erreichen Beharrlichkeit .
  4. Um Persistenz mit der IP-Adresse des Clients zu aktivieren, wählen Sie Persistenz IP: Kunde Adresse.
  5. oracle_jd_edwards_load_balancing_farm

  6. Um die Sitzungspersistenz mithilfe eines Cookies zu aktivieren, ignorieren Sie Schritt 4 und verlassen Sie die Beharrlichkeit Feld bei Keine Beharrlichkeit.
  7. Schalten Sie den ein Kekseinsatz anklicken und ausfüllen Name, Domain, Weg, und Zeit zu leben (TTL) in Sekunden.
  8. Aktualisieren Sie die Einstellungen, indem Sie auf klicken Zur Bewerbung .

Beispielkonfigurationen: Erstellen von Umleitungsregeln

Umleitungsregeln werden verwendet, um eine Webseite automatisch auf eine andere Webseite umzuleiten. Dies wird häufig verwendet, wenn eine Website ihre Struktur oder ihren Inhalt geändert hat oder wenn eine Seite an einen neuen Ort verschoben wurde. Weiterleitungsregeln können verwendet werden, um sicherzustellen, dass Benutzer und Suchmaschinen auf die richtige Seite geleitet werden, und um defekte Links zu verhindern. Es gibt verschiedene Arten von Weiterleitungen, die verwendet werden können, einschließlich 301-Weiterleitungen, 302-Weiterleitungen und Meta-Aktualisierungsweiterleitungen. Die Art der verwendeten Weiterleitung hängt von den spezifischen Anforderungen der Website und dem Grund für die Weiterleitung ab.

Nginx-Konfigurationen

Um eine Umleitungsregel zu erstellen, deklarieren wir eine Rückgabeanweisung innerhalb des Server- oder Standortkontexts. Die return-Direktive wird verwendet, wenn Sie Benutzer von einer URL zu einer anderen oder von einem ungesicherten Kanal zu einem sicheren Server umleiten möchten.
Nginx-Umleitungsregeln folgen der folgenden Syntax.

return ( 301 | 302 | 303 | 307 ) redirect-url;

Hier ist eine Beispielkonfiguration für die Umleitung von Benutzern von einem ungesicherten http zu einem gesicherten https-Speicherort.

server {
# Redirect users to HTTPS
listen      80;
server_name test.zevenet.com www.test.zevenet.com;
return      301 https://www.test.zevenet.com$request_uri;
}

Das $ request_uri Option stellt sicher, dass der gesamte http-Datenverkehr auf derselben Domain auf das sichere https umgeleitet wird, selbst wenn sich der Pfad ändert.

ZEVNET-Konfigurationen

Um ein ähnliches Ergebnis mit ZEVENET ADC zu erzielen.

  1. Stellen Sie sicher, dass zwei Farmen laufen, beide HTTP und https. Lesen Sie diesen Artikel auf wie man Layer-4- und Layer-Load-Farmen erstellt
  2. Gehen Sie zu LSLB >> Bauernhöfe Und klicken Sie auf die Bearbeiten Symbol auf einer https-Farm.
  3. Suchen Sie den Dienstleistungen und öffnen Sie einen der konfigurierten Dienste, um ihn zu bearbeiten. Wenn es keine gibt, klicken Sie auf die Neuer Service Schaltfläche und erstellen Sie eine.
  4. Scrollen Sie, bis Sie das erreichen Umleiten Abschnitt und schalten Sie ein Weiterleitung aktivieren.
  5. oracle_jd_edwards_load_balancing_farm

  6. Wählen Sie den Umleitungstyp aus Anhängen, Umleitungscode 301 und schreiben Sie die vollständige URL, wohin umgeleitet werden soll. In diesem Beispiel verwenden wir http://10.0.0.18
  7. Aktualisieren Sie die Konfigurationen, indem Sie auf klicken Zur Bewerbung .

Beobachten Sie auch:

Beispielkonfigurationen: Kopfzeilenregeln umschreiben

HTTP-Header sind für Hosts und Clients unerlässlich, um neben Abfrageanforderungen zusätzliche Informationen auszutauschen. Diese Header ermöglichen es Kunden, auf Ressourcen in ihren bevorzugten Sprachen zuzugreifen und auf Webseiten zuzugreifen, die für ihre Geräte optimiert sind. Webserver können diese Informationen verwenden, um die Art der Informationen zu optimieren, um Clients mit Cookie-Headern zu bedienen.

Leider kann die Verwendung vieler Antwortheader viele vertrauliche Informationen preisgeben, die Hacker für Exploit-Versuche verwenden könnten. Daher ist es wichtig, nicht vertrauenswürdige Header zu entfernen oder einige Inhalte zu ändern. Dies trägt dazu bei, böswillige Angriffe wie Cross-Site-Scripting zu verhindern, indem bereitgestellt wird X-XSS-Schutz.

Nginx-Konfigurationen

Nginx bietet 2 Anweisungen zum Ändern und Hinzufügen von Headern. Diese beinhalten add_header und more_set_headers. Verwenden Sie diese Standortüberschriften innerhalb des Standortblocks.

Beispielkonfiguration mit add_header in Nginx.

location / {
	...
	add_header Server “serverName”;
	...
}

more_set_headers ist nicht nativ in Nginx installiert, daher installieren Benutzer dieses Plugin normalerweise manuell, bevor sie Nginx kompilieren.

Beispielkonfiguration mit more_set_headers.

location /{
        ...
	more_set_headers Server “serverName”;
        ...
}

ZEVNET-Konfigurationen

  1. Zuerst gehen LSLB>>Farmen und wählen Sie eine HTTP Farm, deren Regeln Sie festlegen möchten.
  2. Der Globale Einstellungen, klicken Sie auf die Erweiterte Einstellungen Tab.
  3. Innerhalb der Erweiterte Einstellungen, Wähle aus Ermöglichen Option innerhalb der Standort-Header neu schreiben Regel.
  4. oracle_jd_edwards_load_balancing_farm

  5. Aktualisieren Sie die Konfigurationen, indem Sie auf klicken Zur Bewerbung .
  6. Scrollen Sie zum Kopfzeilenbereich und klicken Sie auf die Regel erstellen .
  7. Innerhalb der Art Dropdown-Option, wählen Sie eine aus, die zu Ihrer Anwendung passt. In diesem Beispiel verwenden wir Antwort: Header hinzufügen.
  8. oracle_jd_edwards_load_balancing_farm

  9. Geben Sie den Header ein, dessen Wert Sie ändern möchten. Für dieses Beispiel ändern wir den Wert von Server Header.
  10. Speichern Sie die Konfigurationen, indem Sie auf klicken Zur Bewerbung .
  11. Wiederaufnahme die Farm, damit die Konfigurationen wirksam werden.

Weitere Informationen

Verwenden des Let's encrypt-Programms zum automatischen Generieren eines SSL-Zertifikats.
Datalink/Uplink Load Balancing mit ZEVENET ADC.
DNS-Lastenausgleich mit ZEVENET ADC.
Schutz vor DDoS-Angriffen.
Anwendungs-, Gesundheits- und Netzwerküberwachung in ZEVENET ADC.
Konfiguration der Web Application Firewall.
Konfigurieren von SSL-Zertifikaten für den Load Balancer.

Teilen:

Dokumentation unter den Bedingungen der GNU Free Documentation License.

War dieser Artikel hilfreich?

Verwandte Artikel