Släpp nginx 1.16.0

Efter ett år av utveckling presenteras ny stabil gren av högpresterande HTTP-server och multiprotokoll proxyserver nginx 1.16.0, som absorberade förändringarna ackumulerade inom huvudgrenen 1.15.x. I framtiden kommer alla förändringar i den stabila grenen 1.16 att vara relaterade till eliminering av allvarliga fel och sårbarheter. Huvudgrenen av nginx 1.17 kommer snart att bildas, inom vilken utvecklingen av nya funktioner kommer att fortsätta. För vanliga användare som inte har till uppgift att säkerställa kompatibilitet med tredjepartsmoduler, rekommenderad använd huvudgrenen, på grundval av vilken utgåvor av den kommersiella produkten Nginx Plus bildas var tredje månad.

De mest anmärkningsvärda förbättringarna som lades till under utvecklingen av 1.15.x uppströmsgrenen:

  • Lade till möjligheten att använda variabler i ' direktivssl_certificate' och 'ssl_certifikatnyckel', som kan användas för att dynamiskt ladda certifikat;
  • Lade till möjligheten att ladda SSL-certifikat och hemliga nycklar från variabler utan att använda mellanliggande filer;
  • I blocket"uppströms» nytt direktiv implementerat «slumpmässig“, med hjälp av vilken du kan organisera lastbalansering med ett slumpmässigt urval av en server för vidarebefordran av anslutningen;
  • I modulen ngx_stream_ssl_preread variabel implementerad $ssl_preread_protocol,
    som anger den högsta versionen av SSL/TLS-protokollet som klienten stöder. Variabeln tillåter skapa konfigurationer för åtkomst med hjälp av olika protokoll med och utan SSL via en nätverksport vid proxysändning av trafik med hjälp av http- och streammodulerna. Till exempel, för att organisera åtkomst via SSH och HTTPS via en port, kan port 443 vidarebefordras som standard till SSH, men om SSL-versionen är definierad, vidarebefordra till HTTPS.

  • En ny variabel har lagts till i uppströmsmodulen "$upstream_bytes_sent", som visar antalet byte som överförts till gruppservern;
  • Till modulen ström inom en session har möjligheten att behandla flera inkommande UDP-datagram från klienten lagts till;
  • Direktivet "proxy_requests", specificerar antalet datagram som tas emot från klienten, när bindningen mellan klienten och den befintliga UDP-sessionen tas bort. Efter att ha mottagit det specificerade antalet datagram, börjar nästa datagram som tas emot från samma klient en ny session;
  • Lyssningsdirektivet har nu möjlighet att specificera portintervall;
  • Lagt till direktiv "ssl_early_data» för att aktivera läget 0-RTT när du använder TLSv1.3, vilket gör att du kan spara tidigare förhandlade TLS-anslutningsparametrar och minska antalet RTT:er till 2 när du återupptar en tidigare upprättad anslutning;
  • Nya direktiv har lagts till för att konfigurera Keepalive för utgående anslutningar (aktivera eller inaktivera SO_KEEPALIVE-alternativet för sockets):

    • «proxy_socket_keepalive" - konfigurerar beteendet "TCP keepalive" för utgående anslutningar till proxyservern;
    • «fastcgi_socket_keepalive" - konfigurerar beteendet "TCP keepalive" för utgående anslutningar till FastCGI-servern;
    • «grpc_socket_keepalive" - konfigurerar beteendet "TCP keepalive" för utgående anslutningar till gRPC-servern;
    • «memcached_socket_keepalive" - konfigurerar beteendet "TCP keepalive" för utgående anslutningar till den memcachade servern;
    • «scgi_socket_keepalive" - konfigurerar beteendet "TCP keepalive" för utgående anslutningar till SCGI-servern;
    • «uwsgi_socket_keepalive" - konfigurerar beteendet "TCP keepalive" för utgående anslutningar till uwsgi-servern.
  • I direktivet "limit_req" lagt till en ny parameter "delay", som sätter en gräns efter vilken redundanta förfrågningar försenas;
  • Nya direktiv "keepalive_timeout" och "keepalive_requests" har lagts till i "upstream"-blocket för att sätta gränser för Keepalive;
  • "ssl"-direktivet har föråldrats, ersatt av parametern "ssl" i "lyssna"-direktivet. Saknade SSL-certifikat upptäcks nu vid konfigurationstestningsstadiet när man använder "lyssna"-direktivet med parametern "ssl" i inställningarna;
  • När du använder reset_timedout_connection-direktivet stängs nu anslutningar med en 444-kod när timeouten löper ut;
  • SSL-fel "http request", "https proxy request", "unsupported protocol" och "version too low" visas nu i loggen med nivån "info" istället för "crit";
  • Lade till stöd för omröstningsmetoden på Windows-system när du använder Windows Vista och senare;
  • Möjlighet att använda TLSv1.3 när du bygger med BoringSSL-biblioteket, inte bara OpenSSL.

Källa: opennet.ru

Lägg en kommentar