Wir freuen uns, die Verfügbarkeit von NGINX Plus Release 11 (R11) bekannt zu geben. Mit dieser Version stellen wir eine Reihe neuer Funktionen in NGINX Plus bereit, um die Erweiterung und Anpassung des Produkts zu vereinfachen und ein noch breiteres Spektrum an Bereitstellungen zu unterstützen.
NGINX Plus R11 führt binäre Kompatibilität für dynamische Module ein. Dies bedeutet, dass dynamische Module, die mit NGINX Open Source kompiliert wurden, in NGINX Plus geladen werden können.
Sie können die große Anzahl an NGINX-Modulen von Drittanbietern nutzen, um NGINX Plus zu erweitern und dessen Funktionalität zu erweitern, indem Sie auf eine Reihe von Open Source- und kommerziell produzierten Modulen zurückgreifen. Entwickler können benutzerdefinierte Erweiterungen, Add-Ons und neue Produkte basierend auf dem unterstützten NGINX Plus-Kern erstellen.
NGINX Plus R11 bietet außerdem eine Reihe weiterer Verbesserungen:
NGINX Plus R11 im Detail
Die NGINX-Community hat eine breite Palette von Modulerweiterungen für NGINX Open Source entwickelt – Sicherheitslösungen, Authentifizierungsmodule und sogar komplette Anwendungslaufzeitumgebungen wie Lua .
Wir erstellen und pflegen einige dieser Drittanbietermodule für NGINX Plus, aktualisieren sie mit jeder Version und verteilen sie über unser NGINX Plus-Repository. Die ordnungsgemäße Funktion dieser Builds mit NGINX Plus ist zertifiziert und unser Supportteam bietet technischen Support bei der Installation und grundlegenden Konfiguration.
Mit der Version R11 können Sie jetzt alle kompatiblen Module von Drittanbietern mit der entsprechenden Open Source-Version von NGINX kompilieren und diese Module dann sicher in NGINX Plus laden.
Jede Version von NGINX Plus basiert auf einer Version von NGINX Open Source . Führen Sie nginx
-v
aus, um die passende Open-Source-Versionsnummer zu ermitteln; für NGINX Plus R11 ist das NGINX 1.11.5.
$ nginx -v nginx-Version: nginx/1.11.5 (nginx-plus-r11)
Um dynamische Module zu kompilieren, besorgen Sie sich zunächst den NGINX-Quellcode, auf dem Ihre NGINX Plus-Version basiert (hier nginx-1.11.5
für NGINX Plus R11 ):
$ wget https://nginx.org/download/nginx-1.11.5.tar.gz $ tar -xzvf nginx-1.11.5.tar.gz
Anschließend führen Sie den Konfigurationsbefehl
mit dem neuen Argument --with-compat
aus, um eine Standard-Build-Umgebung zu erstellen, die mit NGINX Plus kompatibel ist:
$ cd nginx-1.11.5 $ ./configure --with-compat --add-dynamic-module=/Pfad/zum/Modul $ Module erstellen
Weitere Einzelheiten zum Kompilieren eigener Module für den Betrieb mit NGINX Plus finden Sie unter „Kompilieren dynamischer Module für NGINX Plus<.htmla>“ in unserem Blog.
Module, die Sie selbst kompilieren (Community-Module, Module von Drittanbietern und benutzerdefinierte Module), werden von NGINX weder getestet noch unterstützt. Wenn Sie technischen Support für ein Problem benötigen, werden Sie vom technischen Supportteam von NGINX möglicherweise aufgefordert, ein nicht unterstütztes Modul zu entfernen und den Fehler im Rahmen unseres technischen Supportprozesses zu reproduzieren, damit überprüft werden kann, ob der Fehler durch das nicht unterstützte Modul verursacht wird oder nicht.
NGINX Plus R11 unterstützt ein breiteres Anwendungsspektrum mit wichtigen Verbesserungen beim TCP- und UDP-Lastausgleich .
Sie können jetzt den TCP/UDP-Load Balancer von NGINX Plus verwenden, um SSL/TLS-Verbindungen auszugleichen, ohne sie zu entschlüsseln. Dies ist in einer sicheren Umgebung oder Umgebung mit hohem Datenverkehr nützlich, in der Sie SSL/TLS-verschlüsselte Verbindungen an einen Remoteserver weiterleiten möchten.
Mit der neuen Funktion zum Vorlesen von SSL-Servernamen kann NGINX Plus R11 jede eingehende SSL/TLS-Verbindung überprüfen und die Zieldomäne (wie etwa den SNI-Wert [Server Name Indication]) bestimmen, an die die Verbindung weitergeleitet werden soll.
Der SSL-Servername wird in der neuen Variable $ssl_preread_server_name
bereitgestellt. Es enthält den Namen des Zielhosts, wie er aus dem SNI-Feld des SSL/TLS-Handshakes extrahiert wurde.
Sie können die Variable als Argument für die Direktive „proxy_pass“
oder als Feld im Zugriffsprotokoll des virtuellen Servers verwenden. Beachten Sie, dass Sie zum Aktivieren dieser Funktion die Direktive ssl_preread
in die Konfiguration aufnehmen müssen, wie in diesem Beispiel gezeigt:
Das neue Stream Log- Modul in NGINX Plus R11 bietet die gleiche Art der Zugriffsprotokollierung für TCP/UDP-Verbindungen, die in früheren Versionen für HTTP-Verbindungen verfügbar war. Sie können jetzt jede vom Stream- Modul verarbeitete TCP/UDP-Sitzung protokollieren und dabei Datenraten, Lastausgleichsentscheidungen, Fehlerbedingungen usw. überprüfen. Dies ist eine wichtige Funktion beim Debuggen oder Überwachen von TCP- oder UDP-Transaktionen.
Das Stream-Modul stellt eine große Anzahl von Variablen bereit und alle können protokolliert werden. Sie können das Standardprotokollformat mithilfe von Variablen wie folgt anpassen:
Diese Version erweitert unsere Unterstützung für das PROXY-Protokoll für TCP-Verbindungen, indem sie NGINX Plus ermöglicht, TCP-Verbindungen zu akzeptieren, die durch die Verwendung des PROXY-Protokolls erweitert werden.
Diese Funktion verbessert Ihre Fähigkeit, TCP-Verbindungen mit NGINX Plus zu verwalten, da Sie die wahre Quell-IP-Adresse der Verbindung zu Protokollierungs- oder Authentifizierungszwecken ermitteln können.
Das Statusmodul meldet jetzt mehr Metriken in der Stream
-Kategorie, einschließlich der Anzahl der abgewickelten Sitzungen und der Anzahl verschiedener Fehlerzustände.
Zusammen mit dem neuen Befehl access_log
im Stream Log-Modul erleichtern die zusätzlichen Metriken die Überwachung des Verhaltens von TCP- und UDP-Diensten und das Erkennen einer unerwarteten Fehlerhäufigkeit.
[Editor – Das Statusmodul ist veraltet und wird durch das NGINX Plus API- Modul ersetzt, das in NGINX Plus R13 eingeführt wurde.
Das GeoIP2-Modul eines Drittanbieters ist jetzt zertifiziert und für NGINX Plus-Benutzer in unserem Repository verfügbar. Das GeoIP2-Modul verwendet die Datenbanken im MaxMind GeoIP2-Format, die lokalisierte Namen bereitstellen und detaillierter sind als die vom ursprünglichen GeoIP-Modul verwendeten.
Um das neue Modul zu erhalten, führen Sie diese Befehle aus (geeignet für Debian und Ubuntu):
$ apt-get update $ apt-get installiere nginx-plus-module-geoip2
Fügen Sie im Hauptkontext (oberste Ebene) in /etc/nginx/nginx.conf eine load_module-
Direktive für das neu installierte Modul hinzu:
Weitere Informationen zum GeoIP2-Modul finden Sie auf der offiziellen GitHub-Seite .
Editor – Der folgende Anwendungsfall ist nur einer von vielen für das NGINX JavaScript-Modul. Eine Liste aller Anwendungsfälle finden Sie unter Anwendungsfälle für das NGINX-JavaScript-Modul .
Dieser Beitrag wurde aktualisiert, um das überarbeitete Sitzungsobjekt ( die Sitzungen
) für das Stream-Modul zu verwenden, das in NGINX JavaScript 0.2.4 eingeführt wurde.
NGINX JavaScript ist die Konfigurationssprache der nächsten Generation für NGINX und NGINX Plus. Mit NGINX JavaScript können Sie vertraute JavaScript-Syntax verwenden, um komplexere Vorgänge auszuführen, als dies mit der Standardkonfigurationssprache von NGINX möglich ist. Diese Version enthält eine Reihe von Verbesserungen für das NGINX-JavaScript-Modul.
NGINX-JavaScript befindet sich noch in der Entwicklungsphase und die Aktualisierungen in der Version weisen auf die endgültig geplante Funktionalität hin. Bei diesem Meilenstein haben wir uns auf zwei Bereiche konzentriert: die Integration mit dem Stream-Modul und eine umfassendere Unterstützung der JavaScript-Sprache.
Im Stream-Modul kann NGINX-JavaScript auf mehrere interne Phasen der Anfrageverarbeitung zugreifen, um Daten zu prüfen und zu ändern. Der folgende NGINX-JavaScript-Code veranschaulicht beispielsweise, wie die dritte Nachricht in einem MySQL-Protokollstream untersucht und nach Schlüsselmustern gesucht wird, um den SQL-Vorgang zu identifizieren:
Die Unterstützung der NGINX JavaScript-Kernsprache wurde erheblich erweitert und umfasst die Unterstützung weiterer integrierter Objekte und Funktionen. Updates werden im Mercurial-Quellcode-Repository und über das NGINX Plus-Paket-Repository geteilt.
NGINX Plus betreibt einen separaten Cache-Manager- Prozess, der für das Bereinigen des Festplattencaches verantwortlich ist. Unter bestimmten Umständen muss der Cache-Manager möglicherweise eine große Anzahl von Dateien löschen, beispielsweise wenn eine große Menge an Speicher wiederhergestellt werden muss.
Mit der neuen Funktion „Unlink Throttling“ können Sie eine maximale Löschrate für zwischengespeicherte Dateien festlegen. Eine niedrigere Rate kann die Belastung der zugrunde liegenden Festplatte verringern und somit die Systemleistung verbessern.
Die Löschrate wird durch die neuen Parameter manager_files
, manager_threshold
und manager_sleep
für die Anweisungen proxy_cache_path
, fastcgi_cache_path
, scgi_cache_path
und uwsgi_cache_path
gesteuert.
Wenn Sie NGINX Plus ausführen, empfehlen wir Ihnen, bei Bedarf ein Upgrade auf Release 11 durchzuführen. Sie erhalten eine Reihe von Fehlerbehebungen und Verbesserungen und können Ihnen so leichter helfen, wenn Sie ein Support-Ticket erstellen müssen. Installations- und Upgrade-Anweisungen finden Sie im Kundenportal .
Notiz: Wie bereits angekündigt , enthält NGINX Plus R11 und höher nicht das Paket nginx-plus-extras . Wenn Sie dieses Paket noch verwenden, müssen Sie stattdessen das Paket nginx-plus bereitstellen und die zusätzlichen Module, die Sie benötigen, dynamisch aus dem NGINX Plus-Modul-Repository laden.
Wenn Sie NGINX Plus noch nicht ausprobiert haben, empfehlen wir Ihnen, es zur Webbeschleunigung, zum Lastenausgleich und zur Anwendungsbereitstellung oder als vollständig unterstützten Webserver mit erweiterten Überwachungs- und Verwaltungs- APIs auszuprobieren. Sie können noch heute mit einer kostenlosen 30-Tage-Testversion beginnen und sich selbst davon überzeugen, wie NGINX Plus Ihnen bei der Bereitstellung und Skalierung Ihrer Anwendungen helfen kann.
„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."