Etter ett års utvikling ny stabil gren av høyytelses HTTP-server og multifunksjonsproxy-server , som har samlet endringer fra hovedgrenen 1.15.x. I fremtiden vil alle endringer i den stabile grenen 1.16 være knyttet til å rette alvorlige feil og sårbarheter. Snart vil hovedgrenen nginx 1.17 bli dannet, hvor utviklingen av nye muligheter fortsetter. For vanlige brukere som ikke har behov for å sikre kompatibilitet med tredjepartsmoduler, bruke hovedgrenen, som danner kommersielle utgivelser av Nginx Plus hvert tredje måned.
De mest merkbare forbedringene som er lagt til under utviklingen av hovedgrenen 1.15.x:
- Muligheten for å bruke variabler i direktivene ‘‘ og ‘‘, som kan brukes til dynamisk lasting av sertifikater;
- Muligheten for å laste SSL-sertifikater og hemmelige nøkler fra variabler uten å bruke mellomliggende filer;
- I blokken «» er den nye direktiven ««, som gjør det mulig å organisere belastningsbalansering med tilfeldig valg av server for videreføring av forbindelsen;
- I modulen det er implementert en variabel ,
som definerer den høyeste SSL/TLS-protokollversjonen som klienten støtter. Variabelen tillater for tilgang ved bruk av forskjellige protokoller med og uten SSL gjennom én nettverksport ved proxying av trafikk med både http- og streammoduler. For eksempel kan tilgang via SSH og HTTPS organiseres gjennom én port 443; standardporten kan videreføres til SSH, men hvis SSL-versjonen er definert, kan den videreføres til HTTPS. - I upstream-modulen er det lagt til en ny variabel ««, som viser antall byte sendt til servergruppen;
- I modulen i løpet av én økt er det lagt til mulighet for å behandle flere innkommende UDP-datagrammer fra klienten;
- I stream-modulen er den nye direktiven ««, som angir antall datagrammer mottatt fra klienten, ved oppnåelse av hvilket bindningen mellom klienten og den eksisterende UDP-økten opphører. Etter mottak av det angitte antallet datagrammer, starter neste datagram mottatt fra samme klient en ny økt;
- I direktivet listen har det blitt mulig å spesifisere portområder;
- Den nye direktiven «» for å aktivere ved bruk av TLSv1.3, som tillater bevaring av tidligere avtalte TLS-tilkoblingsinnstillinger og reduserer RTT til 2 ved gjenoppretting av tidligere etablerte forbindelser;
- For å konfigurere keepalive for utgående forbindelser (aktivere eller deaktivere SO_KEEPALIVE-alternativet for sokler) er det lagt til nye direktiver:
- «» — konfigurerer oppførselen til «TCP keepalive» for utgående forbindelser til proxy-serveren;
- «» — konfigurerer oppførselen til «TCP keepalive» for utgående forbindelser til FastCGI-serveren;
- «» — konfigurerer oppførselen til «TCP keepalive» for utgående forbindelser til gRPC-serveren;
- «» — konfigurerer oppførselen til «TCP keepalive» for utgående forbindelser til memcached-serveren;
- «» — konfigurerer oppførselen til «TCP keepalive» for utgående forbindelser til SCGI-serveren;
- «» — konfigurerer oppførselen til «TCP keepalive» for utgående forbindelser til uwsgi-serveren.
- Det er lagt til en ny parameter «delay» i direktivet « » som setter et tak for når overflødige forespørselene må utsettes;
- I blokken «upstream» er det lagt til nye direktiver «keepalive_timeout» og «keepalive_requests» for å sette grenser for Keepalive;
- Direktivet «ssl» er erklært utdatert, og har blitt erstattet av parameteren «ssl» i direktivet «listen». Nå utføres identifiseringen av manglende SSL-sertifikater på konfigurasjonstesttrinnet ved bruk av direktivet «listen» med parameteren «ssl»;
- Ved bruk av direktivet reset_timedout_connection, lukkes forbindelser som har overskredet tidsfristen nå med kode 444;
- SSL-feil «http request», «https proxy request», «unsupported protocol» og «version too low» vises nå i loggen med nivået «info» i stedet for «crit»;
- Støtte for metoden poll er lagt til på Windows-systemer ved bruk av Windows Vista og nyere;
- Det er nå mulig å bruke ved kompilering med BoringSSL-biblioteket, ikke bare med OpenSSL.
Kilde: opennet.ru
