Efter et års udvikling en ny stabil række af den højtydende HTTP-server og multiprotokol proxyserver , som har samlet ændringerne fra hovedforgreningen 1.15.x. Fremover vil alle ændringer i den stabile gren 1.16 være relateret til rettelse af alvorlige fejl og sårbarheder. Snart vil hovedgren nginx 1.17 blive dannet, hvor udviklingen af nye funktioner vil fortsætte. For almindelige brugere, der ikke har behov for at sikre kompatibilitet med tredjepartsmoduler, at bruge hovedgrenen, som er grundlaget for, at der hver tredje måned dannes udgivelser af det kommercielle produkt Nginx Plus.
De mest mærkbare forbedringer tilføjet under dannelsen af hovedgrenen 1.15.x:
- Muligheden for at bruge variabler i direktiverne '' og '', som kan bruges til dynamisk indlæsning af certifikater;
- Muligheden for at indlæse SSL-certifikater og hemmelige nøgler fra variabler uden at bruge mellemfilder;
- I blokken '' er der implementeret et nyt direktiv '', som gør det muligt at organisere belastningsbalancering med tilfældig valg af server for at viderestille forbindelsen;
- I modulet er der implementeret en variabel ,
, som bestemmer den højeste version af SSL/TLS-protokollen, som klienten understøtter. Variablen gør det muligt til adgang ved hjælp af forskellige protokoller med og uden SSL gennem én netværksport, når man viderestiller trafik ved brug af http- og stream-moduler. For eksempel kan standardporten 443 viderestilles til SSH for at organisere adgang til SSH og HTTPS, men hvis SSL-versionen er defineret, viderestilles den til HTTPS. - I upstream-modulet er der tilføjet en ny variabel '$upstream_bytes_sent',I modulet
- er der tilføjet mulighed for at håndtere flere indgående UDP-datagrammer fra klienten inden for én session; I stream-modulet er der tilføjet direktivet '
- proxy_requests«, der angiver antallet af datagrammer modtaget fra klienten, hvorefter forbindelsen mellem klienten og den eksisterende UDP-session bliver fjernet. Efter modtagelse af det angivne antal datagrammer starter det næste datagram, modtaget fra den samme klient, en ny session;
- I listen direktivet er der nu mulighed for at angive portintervaller;
- Der er tilføjet direktivet «» for at aktivere tilstand ved brug af TLSv1.3, hvilket gør det muligt at bevare tidligere aftalte TLS-forbindelsesparametre og reducere antallet af RTT til 2 ved genoptagelse af en tidligere etableret forbindelse;
- For at konfigurere keepalive for udgående forbindelser (aktivering eller deaktivering af SO_KEEPALIVE-optionen for sockets) er der tilføjet nye direktiver:
- «» — konfigurerer adfærden af «TCP keepalive» for udgående forbindelser til den proxede server;
- «» — konfigurerer adfærden af «TCP keepalive» for udgående forbindelser til FastCGI-serveren;
- «» — konfigurerer adfærden af «TCP keepalive» for udgående forbindelser til gRPC-serveren;
- «» — konfigurerer adfærden af «TCP keepalive» for udgående forbindelser til memcached-serveren;
- «» — konfigurerer adfærden af «TCP keepalive» for udgående forbindelser til SCGI-serveren;
- «» — konfigurerer adfærden af «TCP keepalive» for udgående forbindelser til uwsgi-serveren.
- I direktivet « » er en ny parameter «delay» tilføjet, som angiver grænsen, hvorefter overskydende forespørgsler forsinkes;
- I blokken «upstream» er nye direktiver «keepalive_timeout» og «keepalive_requests» tilføjet for at angive grænser for Keepalive;
- Direktivet «ssl» er blevet deklareret som forældet, og det er blevet erstattet af parameteren «ssl» i direktivet «listen». Kontrol af manglende SSL-certifikater udføres nu under test af konfigurationen ved brug af direktivet «listen» med parameteren «ssl»;
- Ved brug af direktivet reset_timedout_connection lukkes forbindelser, der overskrider timeout, nu ved hjælp af kode 444;
- SSL-fejlene «http request», «https proxy request», «unsupported protocol» og «version too low» vises nu i loggen med niveauet «info» i stedet for «crit»;
- Støtte til poll-metoden er tilføjet på Windows-systemer ved brug af Windows Vista og nyere;
- Muligheden for at bruge er sikret ved at samle med BoringSSL-biblioteket og ikke kun med OpenSSL.
Kilde: opennet.ru
