NGINX hat sich zu Recht einen Ruf als Webserver mit sehr hoher Leistung erworben. Ich glaube, vielen Leuten ist klar, dass NGINX auch als Reverse-Proxy verwendet werden kann, aber ihnen ist vielleicht nicht bewusst, was für ein leistungsstarker Reverse-Proxy es ist.
Lassen Sie uns zunächst einen Schritt zurückgehen und fragen: Was ist ein Proxyserver? Ich denke, Wikipedia hat eine gute Definition:
Ein Proxyserver befindet sich also zwischen einem Client und dem eigentlichen Server, der die vom Client gesuchten Daten hostet. Für den Client scheint der Proxyserver der eigentliche Backend-Server zu sein, und für den Backend-Server sieht der Proxyserver wie ein Client aus. Um einen Reverse-Proxy-Server zu definieren, gehen wir zurück zu Wikipedia :
Der Unterschied besteht darin, dass ein Proxyserver zwischen den Clients und nur einem Backend-Server sitzt, während ein Reverse-Proxyserver vor einem oder mehreren Backend-Servern sitzt und entscheidet, welcher von ihnen für jede Anfrage verwendet wird.
Warum sollten Sie einen Reverse-Proxy-Server verwenden? Es gibt eine Reihe von Vorteilen:
NGINX Plus erweitert die bekannten Webserverfunktionen von NGINX Open Source um noch mehr Funktionen und macht NGINX Plus zu einem voll funktionsfähigen Application Delivery Controller (ADC), der proprietäre Hardwaregeräte ersetzen kann.
Im Folgenden sind nur einige der in NGINX Plus verfügbaren Funktionen aufgeführt.
Es stehen mehrere Algorithmen zum Lastausgleich zur Auswahl, sowohl gewichtete als auch ungewichtete. Sitzungspersistenz wird ebenfalls unterstützt. NGINX Plus kann den Lastenausgleich für HTTP, HTTPS, WebSocket, FastCGI, Memcached, SCGI, SPDY [ersetzt durch HTTP/2, bei dem NGINX Plus ebenfalls den Lastenausgleich durchführt] und uwsgi durchführen. Mehr lesen .
Sowohl die passive als auch die aktive Überwachung der Integrität des Backend-Servers wird unterstützt. Wenn NGINX Plus keine Verbindung zu einem Knoten herstellen kann, wird dieser Knoten als ausgefallen markiert. Aktive Integritätsprüfungen können auch so konfiguriert werden, dass sie regelmäßig für Backend-Knoten ausgeführt werden. Darüber hinaus kann die Slow-Start-Funktion verwendet werden, sodass NGINX Plus den Datenverkehr zu einem gerade online gegangenen Knoten langsam steigert, um eine Überlastung durch einen plötzlichen Datenverkehr zu vermeiden. Mehr lesen .
Der Datenverkehr kann auf Grundlage beliebiger Teile einer Anforderung weitergeleitet werden, beispielsweise der Client-IP-Adresse, des Hostnamens, der URI, der Abfragezeichenfolge, der Header usw.
Jeder Teil einer Anfrage oder Antwort kann geändert werden, einschließlich Header, Text und URI. NGINX Plus kann auch Header hinzufügen und löschen. Mehr lesen .
Antworten können zwischengespeichert werden und Sie können die zwischenzuspeichernden Inhaltstypen und deren Dauer konfigurieren. Sie können auch Elemente aus dem Cache löschen. Mehr lesen .
Gzip-Komprimierung wird unterstützt, mit fein abgestufter Kontrolle darüber, welcher Inhalt komprimiert werden soll und wann die Komprimierung verwendet werden soll. Mehr lesen .
SSL/TLS-Entschlüsselung und -Verschlüsselung werden unterstützt und die Entschlüsselung kann für viele Domänennamen mithilfe verschiedener Zertifikate durchgeführt werden. Mehr lesen .
Im JSON-Format codierte NGINX Plus-Statistiken sind über eine einfache HTTP-Anfrage verfügbar. Zum Anzeigen der Statistiken steht eine Dashboard-Webseite zur Verfügung. Alternativ können Sie sie auch an benutzerdefinierte oder Drittanbieter-Überwachungstools weitergeben. Benutzerdefiniert formatierte Protokolle können sowohl für die lokale Protokollierung als auch für den Export ins Syslog konfiguriert werden. Mehr lesen .
NGINX verfügt über viele weitere Funktionen, wie z. B. Unterstützung für Video-Streaming, Mail-Proxy-Unterstützung, GeoIP-Unterstützung, ordnungsgemäße Neustarts und Upgrades ohne Ausfallzeiten, Traffic Shaping, Verbindungsbegrenzung und vieles mehr. Weitere Informationen finden Sie unter nginx.com und nginx.org .
„Dieser Blogbeitrag kann auf Produkte verweisen, die nicht mehr verfügbar und/oder nicht mehr unterstützt werden. Die aktuellsten Informationen zu verfügbaren F5 NGINX-Produkten und -Lösungen finden Sie in unserer NGINX-Produktfamilie . NGINX ist jetzt Teil von F5. Alle vorherigen NGINX.com-Links werden auf ähnliche NGINX-Inhalte auf F5.com umgeleitet."