Release von nginx 1.16.0

Nach einem Jahr Entwicklung wurde eingeführt Ein neuer stabiler Branch des hochperformanten HTTP-Servers und des Multi-Protocol-Proxys nginx 1.16.0, der die Änderungen aus dem Haupt-Branch 1.15.x integriert. Künftige Änderungen im stabilen Branch 1.16 werden sich auf die Behebung schwerwiegender Fehler und Sicherheitsanfälligkeiten konzentrieren. Bald wird der Haupt-Branch nginx 1.17 gebildet, in dem die Entwicklung neuer Möglichkeiten fortgesetzt wird. Für normale Benutzer, die keine Kompatibilität mit Drittanbieter-Modulen gewährleisten müssen, es empfohlen wird sollten den Haupt-Branch verwenden, auf dessen Basis alle drei Monate Releases des kommerziellen Produkts Nginx Plus erstellt werden.

Die deutlichsten Verbesserungen, die im Prozess der Bildung des Haupt-Branches 1.15.x hinzugefügt wurden:

  • Die Möglichkeit zur Verwendung von Variablen in den Direktiven ‘ssl_certificate‘ und ‘ssl_certificate_key‘ wurde hinzugefügt, was für das dynamische Laden von Zertifikaten verwendet werden kann;
  • Die Möglichkeit, SSL-Zertifikate und geheime Schlüssel aus Variablen ohne Verwendung von Zwischen-Dateien zu laden, wurde hinzugefügt;
  • Im Block ‘upstream‘ wurde die neue Direktive ‘random«, mit der Lastenausgleich mit zufälliger Auswahl des Servers zur Weiterleitung der Verbindung organisiert werden kann;
  • Im Modul ngx_stream_ssl_preread wurde die Variable $ssl_preread_protocol,
    implementiert, die die höchste SSL/TLS-Protokollversion bestimmt, die der Client unterstützt. Diese Variable ermöglicht es, Konfigurationen für den Zugang mit verschiedenen Protokollen sowohl mit SSL als auch ohne SSL über einen einzigen Netzwerkport zu erstellen, während der Verkehr mit HTTP- und Stream-Modulen proxyisiert wird. Zum Beispiel kann der Zugriff über SSH und HTTPS über einen einzigen Port 443 standardmäßig für SSH weitergeleitet werden, aber wenn eine SSL-Version definiert ist, wird auf HTTPS weitergeleitet.
  • Im Upstream-Modul wurde eine neue Variable „$upstream_bytes_sent„ hinzugefügt, die die Anzahl der an den Server der Gruppe gesendeten Bytes anzeigt;
  • Im Modul Wenn wurde die Möglichkeit hinzugefügt, mehrere eingehende UDP-Datagramme vom Client innerhalb einer Sitzung zu verarbeiten;
  • Im Stream-Modul wurde die Direktive „proxy_requests«, die die Anzahl der Datagramme angibt, die vom Client empfangen werden, nach deren Erreichen die Bindung zwischen dem Client und der bestehenden UDP-Sitzung entfernt wird. Nach dem Empfang der angegebenen Anzahl an Datagrammen beginnt das nächste Datagramm, das vom selben Client empfangen wird, eine neue Sitzung;
  • In der Direktive listen wurde die Möglichkeit hinzugefügt, Portbereiche anzugeben;
  • Die Direktive „ssl_early_data“ wurde hinzugefügt, um den Modus 0-RTT beim Einsatz von TLSv1.3 zu aktivieren, welcher es ermöglicht, zuvor vereinbarte TLS-Verbindungsparameter beizubehalten und die Anzahl der RTTs beim Wiederaufbau einer zuvor hergestellten Verbindung auf 2 zu reduzieren;
  • Für die Konfiguration von Keepalive für ausgehende Verbindungen (Aktivierung oder Deaktivierung der SO_KEEPALIVE-Option für Sockets) wurden neue Direktiven hinzugefügt:
    • «proxy_socket_keepalive“ — konfiguriert das Verhalten von „TCP keepalive“ für ausgehende Verbindungen zu einem proxierten Server;
    • «fastcgi_socket_keepalive“ — konfiguriert das Verhalten von „TCP keepalive“ für ausgehende Verbindungen zu einem FastCGI-Server;
    • «grpc_socket_keepalive“ — konfiguriert das Verhalten von „TCP keepalive“ für ausgehende Verbindungen zu einem gRPC-Server;
    • «memcached_socket_keepalive“ — konfiguriert das Verhalten von „TCP keepalive“ für ausgehende Verbindungen zu einem Memcached-Server;
    • «scgi_socket_keepalive» — konfiguriert das Verhalten von „TCP keepalive“ für ausgehende Verbindungen zum SCGI-Server;
    • «uwsgi_socket_keepalive» — konfiguriert das Verhalten von „TCP keepalive“ für ausgehende Verbindungen zum uwsgi-Server.
  • In die Direktive „limit_req“ wurde ein neuer Parameter „delay“ hinzugefügt, der das Limit festlegt, bei dessen Erreichung überflüssige Anfragen verzögert werden;
  • Im Block „upstream“ wurden die neuen Direktiven „keepalive_timeout“ und „keepalive_requests“ hinzugefügt, um Limits für Keepalive festzulegen;
  • Die Direktive „ssl“ wurde als veraltet erklärt, ersetzt durch den Parameter „ssl“ in der Direktive „listen“. Die Definition fehlender SSL-Zertifikate erfolgt nun während der Konfigurationstests, wenn die Direktive „listen“ mit dem Parameter „ssl“ verwendet wird;
  • Bei Verwendung der Direktive reset_timedout_connection werden bei Zeitüberschreitung der Verbindung nun mit dem Code 444 geschlossen;
  • SSL-Fehler „http request“, „https proxy request“, „unsupported protocol“ und „version too low“ werden jetzt im Protokoll auf der Stufe „info“ anstelle von „crit“ angezeigt;
  • Unterstützung der Poll-Methode auf Windows-Systemen wurde für Windows Vista und neuer eingeführt;
  • Die Verwendung von TLSv1.3 ist nun möglich bei der Kompilierung mit der BoringSSL-Bibliothek und nicht nur mit OpenSSL.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster