Ankündigung von NGINX Plus R11

NGINX | 25. Oktober 2016

Wir freuen uns, die Verfügbarkeit von NGINX Plus Release 11 (R11) bekannt zu geben. Mit diesem Release stellen wir eine Reihe neuer Funktionen in NGINX Plus bereit, die das Produkt leichter erweiterbar und anpassbar machen und eine noch größere Bandbreite an Bereitstellungsszenarien unterstützen.

NGINX Plus R11 führt Binärkompatibilität für dynamische Module ein. Das bedeutet, dass dynamische Module, die für 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 mithilfe einer Vielzahl von Open-Source- und kommerziell entwickelten Modulen zu erweitern und zusätzliche Funktionen hinzuzufügen. Entwickler können auf Basis des unterstützten NGINX Plus-Kerns benutzerdefinierte Erweiterungen, Add-ons und neue Produkte erstellen.

NGINX Plus R11 bietet außerdem eine Reihe weiterer Verbesserungen:

  • Verbesserter TCP/UDP-Lastenausgleich – Zu den neuen Funktionen gehören das Routing anhand des SSL-Servernamens, neue Protokollierungsfunktionen, zusätzliche Variablen und eine verbesserte Unterstützung des PROXY-Protokolls. Diese neuen Funktionen verbessern die Möglichkeiten zur Fehlerdiagnose und ermöglichen die Unterstützung eines breiteren Spektrums an Unternehmensanwendungen.
  • Bessere Geolokalisierung anhand der IP-Adresse – Das GeoIP2-Modul eines Drittanbieters ist jetzt zertifiziert und für Kunden von NGINX Plus verfügbar. Diese neue Version bietet im Vergleich zum ursprünglichen GeoIP-Modul lokalisierte und detailliertere Standortinformationen.
  • Erweitertes NGINX-JavaScript-Modul – NGINX JavaScript ist die auf JavaScript basierende Konfigurationssprache der nächsten Generation für NGINX Plus. Mit neuen Funktionen können Sie Anforderungs- und Antwortdaten im Stream-Modul (TCP/UDP) dynamisch ändern.

NGINX Plus R11 im Detail

Binärkompatibilität für dynamische Module

Die NGINX-Community hat eine breite Palette von Modulerweiterungen für NGINX Open Source entwickelt – Sicherheitslösungen, Authentifizierungsmodule und sogar vollständige Anwendungslaufzeitumgebungen wie Lua.

Wir entwickeln und pflegen einige dieser Drittanbietermodule für NGINX Plus, aktualisieren sie mit jeder neuen Version und stellen sie über unser NGINX Plus-Repository bereit. Diese Builds sind für den ordnungsgemäßen Betrieb mit NGINX Plus zertifiziert. Unser Supportteam bietet technische Unterstützung bei der Installation und grundlegenden Konfiguration.

Mit dem Release R11 können Sie jetzt alle kompatiblen Drittanbietermodule für das entsprechende Release von NGINX Open Source kompilieren und diese Module anschließend 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 entsprechende Open-Source-Versionsnummer zu ermitteln; für NGINX Plus R11 ist dies NGINX 1.11.5.

$ nginx -vnginx version: nginx/1.11.5 (nginx-plus-r11)

Um dynamische Module zu kompilieren, laden Sie zunächst den NGINX-Quellcode herunter, auf dem Ihre Version von NGINX Plus 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

Führen Sie anschließend den Befehl „configure“ 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=/path/to/module
$ make modules

Weitere Informationen zum Kompilieren eigener Module für den Betrieb mit NGINX Plus finden Sie unter Dynamische Module für NGINX Plus kompilieren<.htmla> in unserem Blog.

Module, die Sie selbst kompilieren (Community-Module, von Drittanbietern bereitgestellte Module und benutzerdefinierte Module), werden von NGINX weder getestet noch unterstützt. Wenn Sie bei einem Problem technischen Support in Anspruch nehmen, kann das technische Supportteam von NGINX Sie im Rahmen unseres technischen Supportprozesses auffordern, ein nicht unterstütztes Modul zu entfernen und den Fehler zu reproduzieren, damit es überprüfen kann, ob der Fehler durch das nicht unterstützte Modul verursacht wird.

Verbesserter TCP/UDP-Lastenausgleich

NGINX Plus R11 unterstützt dank wichtiger Verbesserungen beim TCP- und UDP-Load-Balancing ein breiteres Anwendungsspektrum.

SSL-Servernamen-Routing

Sie können jetzt den TCP/UDP-Load-Balancer von NGINX Plus verwenden, um SSL/TLS-Verbindungen ohne Entschlüsselung zu verteilen. Dies ist in sicheren Umgebungen oder Umgebungen mit hohem Datenverkehr nützlich, in denen Sie SSL/TLS-verschlüsselte Verbindungen an einen Remote-Server weiterleiten möchten.

Mit der neuen Funktion zum Vorabauslesen des SSL-Servernamens kann NGINX Plus R11 jede eingehende SSL/TLS-Verbindung prüfen und die Zieldomain (beispielsweise anhand des Werts für die Server Name Indication [SNI]) ermitteln, an die die Verbindung weitergeleitet werden soll.

Der SSL-Servername wird in der neuen Variable „$ssl_preread_server_name“ bereitgestellt. Sie enthält den Namen des Zielhosts, der 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 zur Aktivierung dieser Funktion die Direktive „ssl_preread“ in die Konfiguration aufnehmen müssen, wie das folgende Beispiel zeigt:

Codebeispiel wird geladen…

Unterstützung für Zugriffsprotokollierung

Das neue Stream Log-Modul in NGINX Plus R11 bietet für TCP/UDP-Verbindungen dieselbe Art der Zugriffsprotokollierung, die in früheren Versionen bereits für HTTP-Verbindungen verfügbar war. Sie können nun jede TCP/UDP-Sitzung protokollieren, die vom Stream-Modul verarbeitet wird, und dabei Datenraten, Load-Balancing-Entscheidungen, Fehlerzustände und weitere Aspekte untersuchen. Dies ist eine unverzichtbare Funktion für die Fehlersuche oder Überprüfung von TCP- oder UDP-Transaktionen.

Das Stream-Modul stellt eine große Anzahl von Variablen bereit, die alle protokolliert werden können. Sie können das standardmäßige Protokollformat anpassen und dabei Variablen wie folgt verwenden:

Codebeispiel wird geladen…

Verbesserte Unterstützung für das PROXY-Protokoll

Mit dieser Version wird unsere Unterstützung für das PROXY-Protokoll bei TCP-Verbindungen erweitert, da NGINX Plus nun TCP-Verbindungen akzeptieren kann, die das PROXY-Protokoll verwenden.

Diese Funktion verbessert Ihre Möglichkeiten zur Verwaltung von TCP-Verbindungen mit NGINX Plus, da Sie die tatsächliche Quell-IP-Adresse der Verbindung für Protokollierungs- oder Authentifizierungszwecke ermitteln können.

Zusätzliche erweiterte Statusmetriken

Das Status-Modul meldet jetzt mehr Metriken in der Kategorie stream, darunter die Anzahl der verarbeiteten Sitzungen sowie die Häufigkeit 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 sowie die Erkennung einer unerwartet hohen Fehlerrate.

[Redaktion – Das Statusmodul ist veraltet und wurde durch das NGINX Plus API-Modul ersetzt, das mit NGINX Plus R13 eingeführt wurde.

GeoIP2-Modul für eine bessere Geolokalisierung

Das Drittanbietermodul GeoIP2 ist jetzt zertifiziert und steht NGINX Plus-Benutzern in unserem Repository zur Verfügung. Das GeoIP2-Modul verwendet die Datenbanken von MaxMind im GeoIP2-Format. Diese bieten lokalisierte Namen und enthalten detailliertere Informationen als die vom ursprünglichen GeoIP-Modul verwendeten Datenbanken.

Führen Sie die folgenden Befehle aus, um das neue Modul zu beziehen (für Debian und Ubuntu geeignet):

$ apt-get update$ apt-get install nginx-plus-module-geoip2

Fügen Sie im Hauptkontext (auf oberster Ebene) in /etc/nginx/nginx.conf eine load_module-Direktive für das neu installierte Modul hinzu:

Codebeispiel wird geladen…

Weitere Informationen zum GeoIP2-Modul finden Sie auf der offiziellen GitHub-Seite.

Verbesserungen am NGINX-JavaScript-Modul

Redaktion – 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 und verwendet nun das überarbeitete Sitzungsobjekt (s) für das Stream-Modul, das mit 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 die vertraute JavaScript-Syntax verwenden, um komplexere Vorgänge auszuführen, als dies mit der standardmäßigen NGINX-Konfigurationssprache möglich ist. Diese Version enthält eine Reihe von Verbesserungen am NGINX-JavaScript-Modul.

NGINX JavaScript befindet sich noch in der Entwicklung, und die Aktualisierungen in diesem Release weisen den Weg zur geplanten endgültigen Funktionalität. Bei diesem Meilenstein haben wir uns auf zwei Bereiche konzentriert: die Integration in das 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 untersuchen und zu ändern. Der folgende NGINX JavaScript-Code zeigt beispielsweise, wie die dritte Nachricht in einem MySQL-Protokollstream untersucht und nach charakteristischen Mustern durchsucht werden kann, um die SQL-Operation zu identifizieren:

Codebeispiel wird geladen…

Die Kernfunktionen von NGINX JavaScript zur Sprachunterstützung wurden erheblich erweitert und unterstützen nun zusätzliche integrierte Objekte und Funktionen. Aktualisierungen werden im Mercurial-Quellcode-Repository und über das NGINX Plus-Paket-Repository bereitgestellt.

Verbesserte Cache-Leistung

NGINX Plus verwendet einen separaten Cache-Manager-Prozess, der für die Bereinigung des Festplatten-Caches zuständig ist. Unter bestimmten Umständen muss der Cache-Manager möglicherweise eine große Anzahl von Dateien löschen, beispielsweise wenn viel Speicherplatz freigegeben werden muss.

Mit der neuen Funktion „Unlink-Drosselung“ können Sie eine maximale Löschrate für zwischengespeicherte Dateien festlegen. Eine niedrigere Rate kann die Belastung des zugrunde liegenden Datenträgers verringern und dadurch die Systemleistung verbessern.

Die Löschrate wird durch die neuen Parameter „manager_files“, „manager_threshold“ und „manager_sleep“ der Direktiven „proxy_cache_path“, „fastcgi_cache_path“, „scgi_cache_path“ und „uwsgi_cache_path“ gesteuert.

NGINX Plus upgraden oder testen

Wenn Sie NGINX Plus verwenden, empfehlen wir Ihnen, bei Gelegenheit ein Upgrade auf Release 11 durchzuführen. Damit erhalten Sie eine Reihe von Fehlerbehebungen und Verbesserungen. Außerdem können wir Sie so besser unterstützen, falls Sie ein Support-Ticket erstellen müssen. Anweisungen zur Installation und zum Upgrade finden Sie im Kundenportal.

Hinweis: Wie bereits angekündigt, enthalten NGINX Plus R11 und höhere Versionen das Paket nginx-plus-extras nicht mehr. Wenn Sie dieses Paket noch verwenden, müssen Sie stattdessen das Paket nginx-plus bereitstellen und die zusätzlich benötigten Module dynamisch aus dem Modul-Repository von NGINX Plus laden.

Wenn Sie NGINX Plus noch nicht ausprobiert haben, empfehlen wir Ihnen, es für Webbeschleunigung, Lastverteilung und Anwendungsbereitstellung oder als vollständig unterstützten Webserver mit erweiterten APIs für Überwachung und Verwaltung zu testen. Starten Sie noch heute mit einer kostenlosen 30-Tage-Testversion und überzeugen Sie sich selbst davon, wie NGINX Plus Sie bei der Bereitstellung und Skalierung Ihrer Anwendungen unterstützen kann.


Teilen

Über den Autor

Owen Garrett
Owen GarrettSenior Director, Produktmanagement

Weitere Blogbeiträge von Owen Garrett

Ähnliche Blogbeiträge

Die Zukunft von NGINX: Zurück zu unseren Open-Source-Wurzeln
NGINX | 23.08.2022

Die Zukunft von NGINX: Zurück zu unseren Open-Source-Wurzeln

Beim NGINX Sprint 2022 besinnen wir uns auf unsere Open-Source-Wurzeln. Erfahren Sie mehr über die Initiativen, die wir im kommenden Jahr verfolgen, und teilen Sie uns mit, was Sie sich wünschen.

Ein Leitfaden zur Auswahl eines Ingress-Controllers, Teil 1: Ermitteln Sie Ihre Anforderungen
NGINX | 08.09.2021

Ein Leitfaden zur Auswahl eines Ingress-Controllers, Teil 1: Ermitteln Sie Ihre Anforderungen

Ein Ingress-Controller kann eines der leistungsstärksten Tools in Ihrem Kubernetes-Stack sein. Erfahren Sie, wie Sie Ihre Ingress-Anforderungen ermitteln, um die beste Option auszuwählen.

Bereitstellung des NGINX Ingress Controllers auf Amazon EKS: So haben wir getestet
NGINX | 16.08.2021

Bereitstellung des NGINX Ingress Controllers auf Amazon EKS: So haben wir getestet

Wir haben kürzlich den Lösungsleitfaden zum NGINX Ingress Controller um Empfehlungen zur Dimensionierung für Amazon Elastic Kubernetes Service (EKS) ergänzt. In diesem Blogbeitrag erläutern wir, wie wir diese Empfehlungen erarbeitet haben, und stellen Ihnen alle Informationen zur Verfügung, die Sie benötigen, um selbst ähnliche Tests durchzuführen.

Protokollierung des Datenverkehrs zwischen NGINX und Upstream-Servern bei CDN77
NGINX | 12.12.2018

Protokollierung des Datenverkehrs zwischen NGINX und Upstream-Servern bei CDN77

Bei der Fehlersuche bei Datenverkehrsproblemen zwischen NGINX und Upstream-Servern konnte CDN77 die benötigten Daten nur aus dem Fehlerprotokoll mit aktivierter Debug-Ausgabe beziehen, was die Leistung beeinträchtigt und riesige Dateien erzeugt. Daher entwickelte das Team ein neues benutzerdefiniertes Modul, das ausschließlich die benötigten Daten protokolliert.

Ankündigung von NGINX Plus R16
NGINX | 05.09.2018

Ankündigung von NGINX Plus R16

NGINX Plus R16 ist eine einheitliche, elastische Ingress- und Egress-Schicht für Anwendungen, die die Funktionen eines Load Balancers, API-Gateways und einer WAF vereint und neue Features wie clusterfähige Ratenbegrenzung, Schlüssel-Wert-Speicher, „Random with Two Choices“, verbessertes UDP-Load-Balancing und vieles mehr bietet.

5 Gründe für den Umstieg auf softwarebasiertes Load Balancing
NGINX | 13.10.2016

5 Gründe für den Umstieg auf softwarebasiertes Load Balancing

Entdecken Sie fünf Gründe für den Wechsel zu einem softwarebasierten Load Balancer wie NGINX Plus, darunter Kosteneinsparungen, die Einführung von DevOps und eine einheitliche Lösung für alle Umgebungen.