nginx 1.16.0 Verëffentlechung

No engem Joer vun Entwécklung representéiert duerch nei stabile Branche vum performante HTTP-Server a Multiprotokoll Proxy Server nginx 1.16.0, déi d'Verännerungen absorbéiert hunn, déi an der Haaptzweig 1.15.x accumuléiert sinn. An Zukunft wäerten all Ännerungen an der stabiler Branche 1.16 mat der Eliminatioun vu schlëmme Feeler a Schwachstelle verbonne sinn. D'Haaptzweig vun nginx 1.17 wäert geschwënn geformt ginn, an deem d'Entwécklung vun neie Feature weider geet. Fir gewéinlech Benotzer déi net d'Aufgab hunn d'Kompatibilitéit mat Drëtt-Partei Moduler ze garantéieren, recommandéiert benotzen d'Haaptzweig, op Basis vun deem Verëffentlechunge vum kommerziellen Produkt Nginx Plus all dräi Méint geformt ginn.

Déi bemierkenswäert Verbesserunge bäigefüügt während der Entwécklung vun der 1.15.x Upstream Branche:

  • D'Fäegkeet bäigefüügt Variabelen an ' Direktiven ze benotzenssl_zertifikat'an'ssl_certificate_key', déi benotzt ka ginn fir dynamesch Certificaten ze lueden;
  • D'Fähigkeit bäigefüügt fir SSL Certificaten a geheime Schlësselen aus Variablen ze lueden ouni Zwëschendateien ze benotzen;
  • Am Block"uewenzech» nei Direktiv ëmgesat «zoufälleg", mat der Hëllef vun deem Dir Laaschtbalancéierung mat enger zoufälleger Auswiel vun engem Server organiséiert fir d'Verbindung weiderzebréngen;
  • Am Modul ngx_stream_ssl_preread Variabel ëmgesat $ssl_preread_protocol,
    déi spezifizéiert déi héchst Versioun vum SSL / TLS Protokoll deen de Client ënnerstëtzt. D'Variabel erlaabt schafen Konfiguratiounen fir Zougang mat verschiddene Protokoller mat an ouni SSL duerch een Netzhafen ze benotzen wann de Traffic Proxy mat den http a Stream Moduler benotzt. Zum Beispill, fir Zougang iwwer SSH an HTTPS duerch een Hafen z'organiséieren, kann den Hafen 443 als Standard op SSH weidergeleet ginn, awer wann d'SSL Versioun definéiert ass, weider op HTTPS.

  • Eng nei Variabel gouf am Upstream Modul bäigefüügt "$upstream_bytes_sent", déi d'Zuel vun de Bytes weist, déi op de Gruppserver transferéiert ginn;
  • Fir Modul Stream innerhalb vun enger Sessioun ass d'Fähegkeet e puer erakommen UDP-Datagramme vum Client ze veraarbecht ginn;
  • Direktiv "proxy_requests", spezifizéiert d'Zuel vun den Datagrammen, déi vum Client kritt goufen, wann se erreecht ginn, wou d'Verbindung tëscht dem Client an der existenter UDP-Sessioun geläscht gëtt. Nodeems Dir déi spezifizéiert Unzuel vun Datagramme kritt hutt, fänkt de nächste Datagramm vum selwechte Client un eng nei Sessioun un;
  • D'Listendirektiv huet elo d'Fäegkeet fir Portberäicher ze spezifizéieren;
  • Derbäigesat Direktiv "ssl_early_data» fir de Modus z'aktivéieren 0-RTT wann Dir TLSv1.3 benotzt, wat erlaabt Iech virdrun négociéieren TLS Verbindung Parameteren ze retten an d'Zuel vun RTT reduzéieren ze 2 wann Dir eng virdrun etabléiert Verbindung erëm;
  • Nei Direktiven goufen derbäigesat fir Keepalive fir erausgaang Verbindungen ze konfiguréieren (d'SO_KEEPALIVE Optioun fir Sockets aktivéieren oder auszeschalten):

    • «proxy_socket_keepalive" - konfiguréiert d'"TCP Keepalive" Verhalen fir erausginn Verbindungen op de Proxied Server;
    • «fastcgi_socket_keepalive" - konfiguréiert d'"TCP Keepalive" Verhalen fir erausginn Verbindungen op de FastCGI Server;
    • «grpc_socket_keepalive" - konfiguréiert d'"TCP Keepalive" Verhalen fir erausginn Verbindungen op de gRPC Server;
    • «memcached_socket_keepalive" - konfiguréiert d'"TCP Keepalive" Verhalen fir erausginn Verbindungen op de memcached Server;
    • «scgi_socket_keepalive" - konfiguréiert d'"TCP Keepalive" Verhalen fir erausginn Verbindungen op den SCGI Server;
    • «uwsgi_socket_keepalive" - konfiguréiert d'"TCP Keepalive" Verhalen fir erausginn Verbindungen op den uwsgi Server.
  • An der Direktiv "limit_req" bäigefüügt en neie Parameter "Verzögerung", deen eng Limit setzt, no deenen iwwerflësseg Ufroe verspéit ginn;
  • Nei Direktiven "keepalive_timeout" an "keepalive_requests" goufen an de "upstream" Block bäigefüügt fir Limiten fir Keepalive ze setzen;
  • D'"ssl" Direktiv gouf ofgeschaaft, ersat duerch de "ssl" Parameter an der "lauschteren" Direktiv. Vermësste SSL Certificaten ginn elo an der Konfiguratiounsteststadium festgestallt wann Dir d'Direktiv "lauschteren" mam "ssl" Parameter an den Astellungen benotzt;
  • Wann Dir d'Reset_timedout_connection Direktiv benotzt, sinn d'Verbindungen elo mat engem 444 Code zougemaach wann de Timeout ofleeft;
  • SSL Feeler "http request", "https Proxy request", "unsupported protocol" an "version too low" ginn elo am Logbuch mam Niveau "Info" anstatt "crit" ugewisen;
  • Zousätzlech Ënnerstëtzung fir d'Ëmfromethod op Windows Systemer wann Dir Windows Vista a méi spéit benotzt;
  • Méiglechkeet vun benotzen TLSv 1.3 wann Dir mat der BoringSSL Bibliothéik baut, net nëmmen OpenSSL.

Source: opennet.ru

Setzt e Commentaire