Po roce vývoje zastoupená nová stabilní větev vysoce výkonného HTTP serveru a multiprotokolového proxy serveru nginx 1.16.0, která absorbovala změny nashromážděné v rámci hlavní větve 1.15.x. Všechny změny ve stabilní větvi 1.16 budou v budoucnu souviset s odstraňováním závažných chyb a zranitelností. Brzy se vytvoří hlavní větev nginx 1.17, v rámci které bude pokračovat vývoj nových funkcí. Pro běžné uživatele, kteří nemají za úkol zajišťovat kompatibilitu s moduly třetích stran, je doporučeno použijte hlavní větev, na jejímž základě se každé tři měsíce tvoří verze komerčního produktu Nginx Plus.
Nejpozoruhodnější vylepšení přidaná během vývoje upstream větve 1.15.x:
Přidána možnost používat proměnné v direktivách 'ssl_certificate' A 'ssl_certificate_key', který lze použít k dynamickému načítání certifikátů;
Přidána možnost načíst certifikáty SSL a tajné klíče z proměnných bez použití zprostředkujících souborů;
V bloku"proti proudu» implementována nová směrnice «náhodný“, s jehož pomocí můžete organizovat vyrovnávání zátěže s náhodným výběrem serveru pro předávání spojení;
V modulu ngx_stream_ssl_preread implementována proměnná $ssl_preread_protocol,
který určuje nejvyšší verzi protokolu SSL/TLS, kterou klient podporuje. Proměnná umožňuje vytvářet konfigurace pro přístup pomocí různých protokolů sa bez SSL přes jeden síťový port při proxy provozu pomocí http a stream modulů. Například pro organizaci přístupu přes SSH a HTTPS přes jeden port lze port 443 standardně přesměrovat na SSH, ale pokud je definována verze SSL, přeposlat na HTTPS.
Do nadřazeného modulu byla přidána nová proměnná "$upstream_bytes_sent", který zobrazuje počet bajtů přenesených na skupinový server;
Do modulu proud v rámci jedné relace byla přidána možnost zpracovat několik příchozích UDP datagramů od klienta;
směrnice"proxy_requests", udává počet datagramů přijatých od klienta, po jejichž dosažení je vazba mezi klientem a existující relací UDP odstraněna. Po přijetí zadaného počtu datagramů zahájí další datagram přijatý od stejného klienta novou relaci;
Direktiva listen má nyní možnost specifikovat rozsahy portů;
Přidána směrnice "ssl_early_data» pro aktivaci režimu 0-RTT při použití TLSv1.3, který umožňuje uložit dříve vyjednané parametry připojení TLS a snížit počet RTT na 2 při obnovení dříve vytvořeného připojení;
Byly přidány nové direktivy pro konfiguraci keepalive pro odchozí připojení (povolení nebo zakázání možnosti SO_KEEPALIVE pro sokety):
«proxy_socket_keepalive" - konfiguruje chování "TCP keepalive" pro odchozí připojení k serveru proxy;
«fastcgi_socket_keepalive" - konfiguruje chování "TCP keepalive" pro odchozí připojení k serveru FastCGI;
«grpc_socket_keepalive" - konfiguruje chování "TCP keepalive" pro odchozí připojení k serveru gRPC;
«memcached_socket_keepalive" - konfiguruje chování "TCP keepalive" pro odchozí připojení k serveru memcached;
«scgi_socket_keepalive" - konfiguruje chování "TCP keepalive" pro odchozí připojení k serveru SCGI;
«uwsgi_socket_keepalive" - konfiguruje chování "TCP keepalive" pro odchozí připojení k serveru uwsgi.
Ve směrnici"limit_req" přidán nový parametr „delay“, který nastavuje limit, po jehož překročení jsou nadbytečné požadavky zpožděny;
Nové direktivy „keepalive_timeout“ a „keepalive_requests“ byly přidány do bloku „upstream“ pro nastavení limitů pro Keepalive;
Direktiva "ssl" byla zastaralá, nahrazena parametrem "ssl" v direktivě "listen". Chybějící certifikáty SSL jsou nyní detekovány ve fázi testování konfigurace při použití direktivy „listen“ s parametrem „ssl“ v nastavení;
Při použití direktivy reset_timedout_connection jsou nyní připojení po vypršení časového limitu uzavřena pomocí kódu 444;
Chyby SSL „požadavek http“, „požadavek https proxy“, „nepodporovaný protokol“ a „příliš nízká verze“ se nyní v protokolu zobrazují s úrovní „info“ místo „crit“;
Přidána podpora metody dotazování v systémech Windows při použití systému Windows Vista a novějších;
Možnost použití TLSv1.3 při vytváření s knihovnou BoringSSL, nejen OpenSSL.