nginx 1.16.0 udgivelse

Efter et års udvikling fremlagde ny stabil gren af ​​højtydende HTTP-server og multiprotokol-proxyserver nginx xnumx, som absorberede ændringerne akkumuleret inden for hovedgrenen 1.15.x. I fremtiden vil alle ændringer i den stabile gren 1.16 være relateret til eliminering af alvorlige fejl og sårbarheder. Hovedgrenen af ​​nginx 1.17 vil snart blive dannet, inden for hvilken udviklingen af ​​nye funktioner vil fortsætte. For almindelige brugere, der ikke har til opgave at sikre kompatibilitet med tredjepartsmoduler, anbefales bruge hovedgrenen, på grundlag af hvilken udgivelser af det kommercielle produkt Nginx Plus dannes hver tredje måned.

De mest bemærkelsesværdige forbedringer tilføjet under udviklingen af ​​1.15.x upstream-grenen:

  • Tilføjet muligheden for at bruge variabler i ' direktiverssl_certificate'og'ssl_certifikatnøgle', som kan bruges til dynamisk at indlæse certifikater;
  • Tilføjet muligheden for at indlæse SSL-certifikater og hemmelige nøgler fra variabler uden at bruge mellemliggende filer;
  • I blokken"opstrøms» nyt direktiv implementeret «tilfældig“, ved hjælp af hvilken du kan organisere belastningsbalancering med et tilfældigt udvalg af en server til videresendelse af forbindelsen;
  • I modulet ngx_stream_ssl_preread variabel implementeret $ssl_preread_protocol,
    som angiver den højeste version af SSL/TLS-protokollen, som klienten understøtter. Variablen tillader oprette konfigurationer til adgang ved hjælp af forskellige protokoller med og uden SSL gennem én netværksport ved proxy-trafik ved hjælp af http- og stream-modulerne. For eksempel, for at organisere adgang via SSH og HTTPS gennem én port, kan port 443 som standard videresendes til SSH, men hvis SSL-versionen er defineret, videresend til HTTPS.

  • En ny variabel er blevet tilføjet til upstream-modulet "$upstream_bytes_sent", som viser antallet af bytes overført til gruppeserveren;
  • Til modul strøm inden for en session er muligheden for at behandle flere indkommende UDP-datagrammer fra klienten blevet tilføjet;
  • Direktivet"proxy_anmodninger", angiver antallet af datagrammer modtaget fra klienten, når bindingen mellem klienten og den eksisterende UDP-session er fjernet. Efter at have modtaget det specificerede antal datagrammer, begynder det næste datagram modtaget fra den samme klient en ny session;
  • Lyttedirektivet har nu mulighed for at specificere portintervaller;
  • Tilføjet direktiv "ssl_early_data» for at aktivere tilstanden 0-RTT når du bruger TLSv1.3, som giver dig mulighed for at gemme tidligere forhandlede TLS-forbindelsesparametre og reducere antallet af RTT'er til 2, når du genoptager en tidligere etableret forbindelse;
  • Nye direktiver er blevet tilføjet for at konfigurere Keepalive til udgående forbindelser (aktivering eller deaktivering af SO_KEEPALIVE-indstillingen for sockets):

    • «proxy_socket_keepalive" - konfigurerer "TCP keepalive"-adfærden for udgående forbindelser til proxyserveren;
    • «fastcgi_socket_keepalive" - konfigurerer "TCP keepalive"-adfærden for udgående forbindelser til FastCGI-serveren;
    • «grpc_socket_keepalive" - konfigurerer "TCP keepalive"-adfærden for udgående forbindelser til gRPC-serveren;
    • «memcached_socket_keepalive" - konfigurerer "TCP keepalive"-adfærden for udgående forbindelser til den memcachede server;
    • «scgi_socket_keepalive" - konfigurerer "TCP keepalive"-adfærden for udgående forbindelser til SCGI-serveren;
    • «uwsgi_socket_keepalive" - konfigurerer "TCP keepalive"-adfærden for udgående forbindelser til uwsgi-serveren.
  • I direktivet "limit_req" tilføjet en ny parameter "forsinkelse", som sætter en grænse, hvorefter redundante anmodninger forsinkes;
  • Nye direktiver "keepalive_timeout" og "keepalive_requests" er blevet tilføjet til "upstream"-blokken for at sætte grænser for Keepalive;
  • "ssl"-direktivet er blevet forældet, erstattet af "ssl"-parameteren i "lytte"-direktivet. Manglende SSL-certifikater detekteres nu på konfigurationsteststadiet, når du bruger "lytte"-direktivet med "ssl"-parameteren i indstillingerne;
  • Når du bruger reset_timedout_connection-direktivet, lukkes forbindelser nu med en 444-kode, når timeouten udløber;
  • SSL-fejl "http request", "https proxy request", "unsupported protocol" og "version too low" vises nu i loggen med niveauet "info" i stedet for "crit";
  • Tilføjet understøttelse af afstemningsmetoden på Windows-systemer ved brug af Windows Vista og nyere;
  • Mulighed for brug TLSv1.3 når du bygger med BoringSSL-biblioteket, ikke kun OpenSSL.

Kilde: opennet.ru

Tilføj en kommentar