Nginx 1.16.0-Version

Nach einem Jahr Entwicklung vertreten neuer stabiler Zweig des Hochleistungs-HTTP-Servers und Multiprotokoll-Proxyservers nginx 1.16.0, das die im Hauptzweig 1.15.x angesammelten Änderungen absorbierte. Zukünftig werden sich alle Änderungen im Stable Branch 1.16 auf die Beseitigung schwerwiegender Fehler und Schwachstellen beziehen. Bald wird der Hauptzweig von Nginx 1.17 gebildet, in dem die Entwicklung neuer Funktionen fortgesetzt wird. Für normale Benutzer, die nicht die Aufgabe haben, die Kompatibilität mit Modulen von Drittanbietern sicherzustellen, empfohlen Nutzen Sie den Hauptzweig, auf dessen Grundlage alle drei Monate Releases des kommerziellen Produkts Nginx Plus erstellt werden.

Die bemerkenswertesten Verbesserungen, die während der Entwicklung des 1.15.x-Upstream-Zweigs hinzugefügt wurden:

  • Es wurde die Möglichkeit hinzugefügt, Variablen in '-Direktiven zu verwendenssl_certificate' und 'ssl_certificate_key', mit dem Zertifikate dynamisch geladen werden können;
  • Möglichkeit hinzugefügt, SSL-Zertifikate und geheime Schlüssel aus Variablen zu laden, ohne Zwischendateien zu verwenden;
  • Im Block „flussaufwärts» Neue Richtlinie umgesetzt «zufällig„, mit dessen Hilfe Sie einen Lastausgleich mit einer zufälligen Auswahl eines Servers für die Weiterleitung der Verbindung organisieren können;
  • Im Modul ngx_stream_ssl_preread Variable implementiert $ssl_preread_protocol,
    Dies gibt die höchste Version des SSL/TLS-Protokolls an, die der Client unterstützt. Die Variable erlaubt Konfigurationen erstellen für den Zugriff über verschiedene Protokolle mit und ohne SSL über einen Netzwerkport bei der Weiterleitung des Datenverkehrs mithilfe der http- und Stream-Module. Um beispielsweise den Zugriff über SSH und HTTPS über einen Port zu organisieren, kann Port 443 standardmäßig an SSH weitergeleitet werden, bei definierter SSL-Version jedoch an HTTPS.

  • Dem Upstream-Modul wurde eine neue Variable hinzugefügt.$upstream_bytes_sent", das die Anzahl der an den Gruppenserver übertragenen Bytes anzeigt;
  • Zum Modul Strom Innerhalb einer Sitzung wurde die Möglichkeit hinzugefügt, mehrere eingehende UDP-Datagramme vom Client zu verarbeiten.
  • Die Richtlinie „Proxy_Anfragen", gibt die Anzahl der vom Client empfangenen Datagramme an, bei deren Erreichen die Bindung zwischen dem Client und der bestehenden UDP-Sitzung entfernt wird. Nach dem Empfang der angegebenen Anzahl von Datagrammen beginnt mit dem nächsten vom selben Client empfangenen Datagramm eine neue Sitzung.
  • Die Listen-Direktive bietet jetzt die Möglichkeit, Portbereiche anzugeben.
  • Direktive hinzugefügt „ssl_early_data» um den Modus zu aktivieren 0-RTT bei Verwendung von TLSv1.3, wodurch Sie zuvor ausgehandelte TLS-Verbindungsparameter speichern und die Anzahl der RTTs auf 2 reduzieren können, wenn Sie eine zuvor hergestellte Verbindung wiederherstellen;
  • Es wurden neue Anweisungen hinzugefügt, um Keepalive für ausgehende Verbindungen zu konfigurieren (Aktivieren oder Deaktivieren der Option SO_KEEPALIVE für Sockets):

    • «Proxy_Socket_Keepalive" – konfiguriert das „TCP-Keepalive“-Verhalten für ausgehende Verbindungen zum Proxy-Server;
    • «fastcgi_socket_keepalive" – konfiguriert das „TCP-Keepalive“-Verhalten für ausgehende Verbindungen zum FastCGI-Server;
    • «grpc_socket_keepalive" – konfiguriert das „TCP-Keepalive“-Verhalten für ausgehende Verbindungen zum gRPC-Server;
    • «memcached_socket_keepalive" – konfiguriert das „TCP-Keepalive“-Verhalten für ausgehende Verbindungen zum Memcached-Server;
    • «scgi_socket_keepalive" – konfiguriert das „TCP-Keepalive“-Verhalten für ausgehende Verbindungen zum SCGI-Server;
    • «uwsgi_socket_keepalive" – konfiguriert das „TCP-Keepalive“-Verhalten für ausgehende Verbindungen zum uwsgi-Server.
  • In der Richtlinie „limit_req" Es wurde ein neuer Parameter „Verzögerung“ hinzugefügt, der eine Grenze festlegt, nach der redundante Anforderungen verzögert werden.
  • Dem „upstream“-Block wurden neue Direktiven „keepalive_timeout“ und „keepalive_requests“ hinzugefügt, um Grenzwerte für Keepalive festzulegen;
  • Die „ssl“-Direktive ist veraltet und wurde durch den „ssl“-Parameter in der „listen“-Direktive ersetzt. Fehlende SSL-Zertifikate werden jetzt in der Konfigurationstestphase erkannt, wenn die „listen“-Direktive mit dem „ssl“-Parameter in den Einstellungen verwendet wird;
  • Bei Verwendung der Direktive „reset_timedout_connection“ werden Verbindungen jetzt mit dem Code 444 geschlossen, wenn das Timeout abläuft;
  • SSL-Fehler „http-Anfrage“, „https-Proxy-Anfrage“, „nicht unterstütztes Protokoll“ und „Version zu niedrig“ werden im Protokoll jetzt mit dem Level „info“ statt „crit“ angezeigt;
  • Unterstützung für die Umfragemethode auf Windows-Systemen hinzugefügt, wenn Windows Vista und höher verwendet wird;
  • Möglichkeit der Nutzung TLSv1.3 beim Erstellen mit der BoringSSL-Bibliothek, nicht nur OpenSSL.

Source: opennet.ru

Kommentar hinzufügen