Lastausgleich und hohe Verfügbarkeit von Webnavigations-Proxy-Diensten

GESCHRIEBEN VON Zevenet | 2. März 2021

Intro

A Proxy-Server kann als Server-Appliance oder -Anwendung beschrieben werden, die Anfragen von Kunden oder Clients vermittelt, die versuchen, Ressourcen von mehreren Servern zu suchen, die diese bereitstellen. Dies bedeutet, dass ein Proxyserver im Auftrag des Kunden oder Clients arbeitet, wenn der Dienst angefordert wird, und möglicherweise den tatsächlichen Ursprung oder die Quelle der Anforderung an den Server verbirgt.

Der Prozess besteht darin, dass der Client die Anforderung direkt an den Proxyserver sendet, anstatt nur eine Verbindung zu einem konkreten Server herzustellen, der eine angeforderte Ressource wie Dateien oder Websites bereitstellen kann. Anschließend wertet der Proxyserver diese Anforderung aus und entwickelt das entsprechende und erforderliche Netzwerk Transaktionen. Dies ist eine Möglichkeit, die Komplexität der Anforderung einfacher oder kontrollierter zu gestalten, und bietet darüber hinaus weitere Vorteile wie Sicherheit, Inhaltsbeschleunigung oder Datenschutz. Proxies wurden entwickelt, um die vorhandenen verteilten Systeme zu kapseln und zu strukturieren. Einige der am häufigsten verwendeten Webnavigations-Proxys sind Tintenfisch, Privoxybezeichnet, oder SwiperProxy.

Manchmal reicht ein Proxyserver nicht aus, um die Anzahl der gleichzeitigen Benutzer zu verwalten, oder der Proxy selbst ist ein der Punkt des Versagens Das muss angegangen werden, wenn ein ADC unbedingt erforderlich ist.

Der folgende Artikel beschreibt eine Möglichkeit zum Erstellen einer hohen Verfügbarkeit und Skalierbarkeit für einen Navigations-Proxy-Dienst. Wenn einer der Proxyserver ausfällt, erkennt der mit ZEVENET Application Delivery Controller implementierte Load Balancer den Fehler und der Proxy wird deaktiviert verfügbarer Pool Zusätzlich wird der Client zu einem anderen verfügbaren Navigations-Proxy umgeleitet, ohne die Verkehrsverbindungen zu beeinträchtigen.

Proxy-Netzwerkarchitektur

Mit der Idee, dem Leser die Konfiguration besser verständlich zu machen, möchten wir das folgende Diagramm erreichen, das die Architektur beschreibt.

Zevenet Proxy Cluster Load Balancer

Verschiedene Clients (Laptops, Computer, Handys und Tablets) konfigurieren den Navigationsbrowser, der auf den korporativen Proxy verweist, z https://proxy.company.com:3128. Alle Verbindungen von den Clients zum Webnavigations-Proxy sind einfach HTTP or SSL wird sein TCP Dies wird also zum Aufbau unserer Lastausgleichsfarm verwendet.

Die IP-Auflösung für proxy.company.com ist ein Virtuelle IP bereits im Load Balancer konfiguriert. Im ZEVENET Application Delivery Controller gibt es eine Farm über eine solche virtuelle IP, z 192.168.103.34 und virtueller Port 3128 in NAT Modus für TCP Protokoll.

In unserem Beispiel ist die Farm mit allen Backends konfiguriert, die den Navigations-Proxy-Pool erstellen 192.168.103.253 192.168.103.254 über TCP-Port 3128. Sobald der Client versucht, eine Verbindung zu dem konfigurierten Proxy herzustellen, erhält der ADC die Verbindung und wird zu einem der verfügbaren Navigationsproxys im Pool umgeleitet, die die Benutzer zwischen allen verfügbaren Backend-Proxyservern teilen.

Konfiguration des Webnavigations-Proxys für hohe Verfügbarkeit

Im folgenden Abschnitt wird das Konfigurationsverfahren beschrieben, um eine ordnungsgemäße Konfiguration für die Lastausgleichsnavigations-Proxys in ZEVENET Load Balancer zu erstellen.

Web Navigation Proxy Health Check

Erstellen Sie zunächst eine Integritätsprüfung für die Verwendung in der Lastausgleichsfarm, die in den folgenden Zeilen erstellt wird. Mit dieser neuen Integritätsprüfung soll überprüft werden, ob der TCP-Port in den Backend-Proxys aktiviert ist.

Gehe zum Abschnitt ÜBERWACHUNG> Farmwächter, erstelle einen neuen Farmguardian mit Namen check_tcp_navigation_proxy und kopieren von check_tcp und nehmen Sie einige kleine Änderungen an den Zeitüberschreitungen vor, wie unten gezeigt:

In den Befehl Feld Flag hinzufügen -t 5Dies ist das Zeitlimit pro Backend, um auf die TCP-Verbindung vom Load Balancer zu antworten. Das Intervall Feld ist ein Wert von 11, 5 Sekunden pro Backend + 1 zusätzliche Sekunde konfiguriert, um eine Rekursion zu vermeiden. Wir empfehlen, die folgende Formel zu verwenden, um das Optimum einzustellen Intervall Wert.

(number of backends * timeout seconds per backend (-t) ) + 1

Virtueller Webnavigations-Proxy-Dienst

Dann erstellen Sie eine LSLB> L4xNAT Bauernhof, zB mit dem Namen navigation_proxy, Einschließlich der Virtuelle IP Virtueller Port wie im vorherigen Diagramm angegeben. Sobald es erstellt ist, gehen Sie zum Bearbeiten in Vertiefung Modus und stellen Sie sicher, dass Protokolltyp ist konfiguriert in TCP NAT-Typ ist konfiguriert in NAT Modus arbeiten können.

Um das Verhalten des virtuellen Dienstes zu konfigurieren, wechseln Sie zur Registerkarte Dienstleistungen und konfigurieren Sie den Lastausgleichsalgorithmus in Gewicht (standardmäßig). Bitte passen Sie diesen Wert an die für Ihre Umgebung und Ihr gewünschtes Verhalten am besten geeignete an.

Gehen Sie dann im selben Abschnitt zur Tabelle Backends und fügen Sie die echten Webnavigations-Proxyserver hinzu, die die Verbindungen des Benutzers verwalten.

Wählen Sie abschließend die Integritätsprüfung aus, die bereits im vorherigen Schritt mit dem Namen erstellt wurde check_tcp_navigation_proxy um zu überprüfen, ob die TCP Backend-Port ist bereits geöffnet.

Jetzt kann der virtuelle Dienst mit Lastenausgleich getestet werden, bevor die Clients konfiguriert werden.

Client-Konfiguration

Der letzte Schritt besteht darin, die Proxy-Einstellungen im Webbrowser des Clients zu konfigurieren, die auf das zeigen Virtuelle IP Virtueller Port verwendet in Load Balancer, oder führen Sie die Virtuelle IP in der Genossenschaft DNS und benutze a Name stattdessen in den Kunden, in unserem Beispiel proxy.example.com wird auf die virtuelle IP verwiesen 192.168.103.34).

Genießen Sie endlich Ihren Load-Balanced-Webnavigations-Proxy mit hoher Verfügbarkeit!

Teilen:

Dokumentation unter den Bedingungen der GNU Free Documentation License.

War dieser Artikel hilfreich?

Verwandte Artikel