BLOG | NGINX

Ankündigung von NGINX Plus R8

NGINX-Teil-von-F5-horiz-schwarz-Typ-RGB
Owen Garrett Miniaturbild
Owen Garrett
Veröffentlicht am 19. Januar 2016

Wir sind stolz, die Verfügbarkeit von NGINX Plus Release 8 (R8) bekannt zu geben, der neuesten Version unserer Anwendungsbereitstellungsplattform. Diese Version umfasst eine vollständig produktionsreife und gehärtete Implementierung von HTTP/2, eine dauerhafte API zur dynamischen Neukonfiguration, das neue Slice- Modul für skalierbares Caching großer Videodateien und viele weitere Funktionen, um eine einwandfreie Anwendungsbereitstellung zu gewährleisten.

Herausgeber – NGINX Plus R8 hat auch die OAuth Technology Preview eingeführt. Informationen hierzu finden Sie weiter unten .

Weitere Einzelheiten zu den wichtigsten neuen Funktionen in NGINX Plus R8 finden Sie in diesen zugehörigen Ressourcen.

 

Die wichtigsten neuen Funktionen in NGINX Plus R8 sind:

  • Vollständig produktionsreife HTTP/2-Implementierung – In NGINX Plus R7 haben wir die Unterstützung für HTTP/2 weniger als sieben Monate nach der Ratifizierung des Protokolls eingeführt. NGINX ist jetzt der Webserver Nr. 1 für HTTP/2 . Unsere Entwicklungsbemühungen endeten nicht mit dieser Veröffentlichung und wir haben weiterhin hart daran gearbeitet, unsere Implementierung zu verbessern. Wir sind stolz, mit NGINX Plus R8 eine vollständig unterstützte, produktionsreife und gehärtete Implementierung des HTTP/2-Standards bereitstellen zu können.

    HTTP/2 verbessert die Leistung von Websites um bis zu 30 % . Mit NGINX Plus R8 können Sie Ihren neuen und bestehenden Sites weiterhin HTTP/2-Unterstützung hinzufügen, ohne dass Änderungen an Ihrer Anwendung erforderlich sind.

  • Permanente API zur dynamischen Neukonfiguration – Mit der API zur dynamischen Neukonfiguration von NGINX Plus können Sie Upstream-Server hinzufügen oder entfernen, ohne NGINX Plus neu zu starten oder die Konfigurationsdatei manuell zu ändern und neu zu laden. Dies ist eine großartige Funktion für die automatische Skalierung und Diensterkennung, mit der Sie den Lastausgleichspool bei Bedarf ändern können. Ab NGINX Plus R8 können die von Ihnen mit der API vorgenommenen Änderungen auch nach einem Neustart oder Neuladen der Konfiguration bestehen bleiben.

    Mit diesem API-Update können Sie dauerhafte Änderungen an Ihrer NGINX Plus-Lastausgleichskonfiguration vornehmen, Server hinzufügen und entfernen und ihre Lastausgleichsprioritäten ändern. Mithilfe dieser leicht zu sichernden API können Änderungen so oft wie nötig vorgenommen werden.

  • Skalierbares Caching für große Videodateien – Mit NGINX Plus R8 haben wir unseren skalierbaren Inhaltscache verbessert, um große Videodateien wie HTML5-Videos besser verarbeiten zu können. Anstatt die gesamte Videodatei als einzelnen Cache-Eintrag zu speichern, zerlegt NGINX Plus sie in kleinere Fragmente und speichert diese dann im Cache. Eine auf diese Weise erfolgte Cache-Strukturierung ist besser auf die Art und Weise abgestimmt, wie Benutzer Videos im Internet nutzen (schnelles Vorspulen, vorzeitiges Beenden usw.) und reduziert die Benutzerlatenz sowie den Netzwerkverkehr zu und von den Ursprungsservern.

NGINX Plus R8 Funktionen im Detail

Dieser Abschnitt bietet einen detaillierten Überblick über alle neuen Features und Funktionen in NGINX Plus R8 .

OAuth-Technologievorschau

Editor – In NGINX Plus R8 haben wir die OAuth Technology Preview eingeführt, eine Implementierung der Authentifizierung mit dem OAuth 2.0-Standard. Einzelheiten erschienen ursprünglich hier. In NGINX Plus R10 haben wir die OAuth Technology Preview durch native Unterstützung für den JSON Web Token (JWT)-Standard ersetzt.

Produktionsreife HTTP/2-Implementierung

HTTP/2 ist die neueste Version des HTTP-Protokolls. Es behebt viele Probleme der ursprünglichen Version des HTTP-Protokolls, was zu einer besseren Gesamtleistung und einer effizienteren Ressourcennutzung führt.

Die Verwendung von HTTP/2 hat seit der Ratifizierung des Standards im Februar 2015 stetig zugenommen. Zum Zeitpunkt des Schreibens dieses Artikels verwenden 6 % aller Websites HTTP/2 und 69 % der Internetbenutzer verwenden einen Browser, der HTTP/2 unterstützt.

Mit NGINX Plus R8 erhalten Sie die derzeit praxiserprobteste, stabilste und zuverlässigste Implementierung von HTTP/2. 71 % der HTTP/2-fähigen Websites basieren auf NGINX und NGINX Plus und wir haben das Feedback unserer Early Adopters in das Produkt integriert. Unsere HTTP/2-Implementierung wird für den Produktionseinsatz vollständig unterstützt und kann skaliert werden, um die anspruchsvollsten Arbeitslasten zu bewältigen.

NGINX Plus fungiert als HTTP/2-Gateway

NGINX Plus fungiert als „HTTP/2-Gateway“, um den Übergang zum neuen Protokoll zu erleichtern. Auf dem Frontend kommuniziert NGINX Plus über HTTP/2 mit Client-Webbrowsern, die dies unterstützen. Auf dem Backend spricht NGINX Plus wie zuvor HTTP/1.x (oder FastCGI, SCGI, uwsgi usw.). Dazwischen übersetzt NGINX Plus zwischen HTTP/2 und HTTP/1.x (oder FastCGI usw.). Dies bedeutet, dass Server und Anwendungen, die von NGINX Plus geproxied werden, von der Umstellung auf HTTP/2 nicht betroffen sind und nicht einmal wissen müssen, ob ihre Clients HTTP/2 verwenden. Websites und Anwendungen, die HTTP/2-Clients bedienen, müssen jedoch TLS/SSL verwenden, wie es von allen Webbrowsern verlangt wird, die HTTP/2 unterstützen.

Die einzige Konfigurationsänderung an NGINX Plus oder NGINX, die Sie vornehmen müssen, ist das Hinzufügen des Parameters http2 zu den Listen- Direktiven:

hören Sie 443 SSL HTTP2 Standardserver;

Weitere Einzelheiten zu HTTP/2 in NGINX Plus und NGINX finden Sie in unserem Whitepaper und im On-Demand-Webinar .

Dauerhafte dynamische Neukonfiguration

NGINX Plus bietet eine HTTP-basierte API zum dynamischen Hinzufügen, Entfernen und Ändern von Backend-Servern, ohne dass die Konfiguration neu geladen werden muss. Dies ist eine großartige Funktion für die Diensterkennung, automatische Skalierung und andere Anwendungen, bei denen Server nach Bedarf hinzugefügt und entfernt werden müssen.

Mit NGINX Plus R8 können mit dieser API vorgenommene Änderungen jetzt auch nach Neustarts und Neuladen der Konfiguration von NGINX Plus bestehen bleiben. Fügen Sie die neue Statusdirektive in einem Upstream- Block hinzu, um die Datei zu benennen, in der NGINX Plus Statusinformationen für die Server in der Upstream-Gruppe speichert. Änderungen, die Sie mit der API zur dynamischen Neukonfiguration vornehmen, werden in der Datei aufgezeichnet. NGINX Plus liest die Datei beim Start, sodass Ihre Änderungen auch nach einem Neustart bestehen bleiben.

Upstream-Backend { Zone Backend 64k; Status /var/lib/nginx/state/backend.state; }

Die State- Direktive benennt die Datei, in der NGINX Plus Statusinformationen für die Server in der Upstream-Gruppe speichert. Wenn sie in der Konfiguration enthalten ist, können Server nicht statisch mit der Serverdirektive definiert werden.

Der Benutzer nginx muss Schreibberechtigung für das Verzeichnis /var/lib/nginx/state/ haben. Wenn das Verzeichnis noch nicht existiert, können Sie diese Befehle ausführen:

$ sudo mkdir -p /var/lib/nginx/state $ sudo chown nginx:nginx /var/lib/nginx/state

Skalierbares Caching für große Videodateien

Durch das Caching lässt sich die Bereitstellung von Webinhalten am schnellsten beschleunigen. Durch das Caching werden die Inhalte nicht nur näher am Endbenutzer platziert und so die Latenz verringert, sondern es verringert sich auch die Anzahl der Anfragen an den Upstream-Ursprungsserver, was die Bandbreitennutzung verringert und die Kapazität effektiv erhöht. Videos, insbesondere HTML5-Videos, sind ein bevorzugtes Ziel für die Zwischenspeicherung, da der Inhalt statisch ist und bei der Erstveröffentlichung häufig nachgefragt wird.

Bei HTML5-Videos pseudostreamt der Browser den Inhalt, indem er HTTP-Bytebereichsanforderungen stellt. Beispielsweise wird die erste Minute des Videos angefordert, dann die zweite Minute und so weiter. Auf diese Weise des Streamings lassen sich außerdem Funktionen zum schnellen Vor- und Zurückspulen einfach implementieren, da der Browser nicht benötigte Videoabschnitte einfach überspringen und stattdessen den angeforderten Bytebereich an der Stelle beginnen kann, zu der der Benutzer vor- oder zurückgespult hat.

NGINX Plus R8 enthält das neue Slice- Modul, um diese Art der Browser-Server-Interaktion für zwischengespeicherte Videodateien besser zu unterstützen. Das Modul zerlegt Dateien in kleinere Fragmente und speichert diese Fragmente dann im Cache. Eine derartige Cache-Struktur ist besser auf moderne Video-Streaming-Techniken abgestimmt, wie sie beispielsweise bei HTML5-Videos zum Einsatz kommen.

Um Cache-Slicing zu aktivieren, schließen Sie die Slice- Direktive ein:

Proxy-Cache-Pfad /tmp/mycache keys_zone=mycache:10m; Standort / { Proxy-Cache mycache; Proxy-Passwort http://localhost:8000; Slice 1m ; Proxy-Cache-Schlüssel $uri$is_args$args $slice_range ; Proxy-Set-Header Bereich $slice_range ; Proxy-http_Version 1.1; Proxy-Cache_gültig 200 206 1h; }

In dieser Beispielkonfiguration zerlegt NGINX Plus Videodateien in 1 MB große Fragmente. Sie müssen außerdem die folgenden Anweisungen einschließen:

  • proxy_cache_key mit der neuen Variable $slice_range im definierten Schlüssel – Legt den Cache-Schlüssel fest, um zwischen den Fragmenten der Originaldatei zu unterscheiden.
  • proxy_set_header – Überschreibt den Range -Header in der HTTP-Anfrage mit $slice_range . Wenn der vom Client angeforderte Bytebereich nicht mit den Grenzen zwischen den von NGINX Plus erstellten Fragmenten übereinstimmt, muss NGINX Plus mehrere Unteranforderungen stellen, um alle Daten in der Bytebereichsanforderung des Clients abzurufen.
  • proxy_http_version – Aktualisiert die Anforderung auf HTTP/1.1, da HTTP/1.0 keine Byte-Bereichsanforderungen unterstützt.

Weitere Einzelheiten zu dieser neuen Funktion finden Sie in diesem zugehörigen Blog-Beitrag .

Zusätzliche Merkmale

NGINX Plus R8 führt außerdem eine Reihe weiterer Verbesserungen ein, die Sie bei der fehlerfreien Anwendungsbereitstellung unterstützen, darunter:

  • Flexiblere Integritätschecks für komplexe Anwendungen. Standardmäßig sendet NGINX Plus Integritätsprüfmeldungen an den Port, der durch die Serverdirektive im Upstream- Block angegeben ist. Mit NGINX Plus R8 können Sie jetzt in jedem Standortblock einen alternativen Port angeben, was besonders hilfreich ist, wenn Sie die Integrität vieler Dienste auf demselben Host überwachen.

    Fügen Sie den neuen Portparameter in die Direktive health_check ein:

    Standort / { Proxy-Passwort http://backend; Health_Check -Port= 8080; }
    
  • Standardmäßig speichert NGINX Plus jetzt HTTP- HEAD- Anfragen im Cache (es konvertiert sie vor dem Cachen in GET- Anfragen). Um diese Art der Zwischenspeicherung zu deaktivieren, schließen Sie die Direktive proxy_cache_convert_head off ein.

    Eine HEAD- Anfrage ist identisch mit einer Standard- GET -Anfrage, außer dass der Antworttext nicht zurückgegeben wird. HEAD- Anfragen sind nützlich, um Links auf Gültigkeit, Zugänglichkeit und aktuelle Änderungen zu testen.

  • Eine neue Variable, $realip_remote_addr , erfasst die ursprüngliche Client-IP-Adresse bei Verwendung des Real IP- Moduls.
  • Der neue Parameter „nohostname“ für die Anweisungen „access_log “ und „error_log“ deaktiviert die Protokollierung des Felds „Hostname“ ins Syslog . Bei der Protokollierung in einen lokalen Syslog-Server ist der Hostname nicht erforderlich.

Die folgenden Module im NGINX Plus Extras-Paket wurden aktualisiert:

Die folgenden Pakete sind nicht mehr verfügbar:

  • nginx-plus-http2 – HTTP/2-Unterstützung ist jetzt in den Paketen nginx-plus und nginx-plus-extras integriert. NGINX Plus unterstützt SPDY nicht mehr.
  • nginx-plus-lua – Verwenden Sie für Lua-Unterstützung bitte das Paket nginx-plus-extras .

Upgrade oder Testen von NGINX Plus

Wenn Sie NGINX Plus verwenden, empfehlen wir Ihnen dringend, so bald wie möglich auf Release 8 zu aktualisieren. 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 .

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 kostenlos mit einer 30-tägigen 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."