Po letu razvoja nova stabilna veja visokozmogljivega HTTP strežnika in večprotokolnega proxy strežnika , ki je vzel v obzir spremembe, ki so se nabrale v okviru glavne veje 1.15.x. V prihodnje bodo vse spremembe v stabilni veji 1.16 usmerjene v odpravljanje resnih napak in ranljivosti. Kmalu bo oblikovana glavna veja nginx 1.17, v okviru katere bo nadaljevan razvoj novih možnosti. Za običajne uporabnike, ki nimajo naloge zagotavljanja združljivosti s tretjimi moduli, uporabite glavno vejo, na osnovi katere se enkrat na tri mesece oblikujejo izdaje komercialnega produkta Nginx Plus.
Najbolj opazna izboljšanja, dodana med oblikovanjem glavne veje 1.15.x:
- Dodana je možnost uporabe spremenljivk v direktivah '' in '', kar se lahko uporabi za dinamično nalaganje certifikatov;
- Dodana je možnost nalaganja SSL-certifikatov in tajnih ključev iz spremenljivk brez uporabe vmesnih datotek;
- V bloku '' je izvedena nova direktiva '', s katero je mogoče organizirati obremenitveno uravnoteženje z naključnim izbiranjem strežnika za povratno povezavo;
- V modulu je izvedena spremenljivka ,
, ki določa najvišjo različico protokola SSL/TLS, ki jo podpira stranka. Spremenljivka omogoča za dostop z uporabo različnih protokolov s SSL in brez SSL preko enega omrežnega porta pri posredovanju prometa z uporabo modulov http in stream. Na primer, za organizacijo dostopa po SSH in HTTPS preko enega porta 443 se lahko privzeto usmeri na SSH, če pa je določena različica SSL, se usmeri na HTTPS. - V modul upstream je dodana nova spremenljivka '', ki prikazuje število bajtov, poslanih na strežnik skupine;
- U modul v okviru enega seje je dodana možnost obravnavanja več prihodnjih UDP-datagramov od stranke;
- V modul stream je dodana direktiva '', ki določa število datagramov, prejetih od stranke, pri čemer se ob dosegi tega števila odstrani vezava med stranko in obstoječo UDP-sejo. Po prejemu navedenega števila datagramov naslednji datagram, prejet od iste stranke, začne novo sejo;
- V direktivi listen je zdaj možno določiti razpon portov;
- Dodana direktiva „' za vključitev načina pri uporabi TLSv1.3, ki omogoča ohranitev prej dogovorjenih parametrov TLS-povezave in zmanjša število RTT na 2 pri ponovnem vzpostavljanju prej vzpostavljene povezave;
- Za nastavitev keepalive za odhodne povezave (vklop ali izklop možnosti SO_KEEPALIVE za sokete) so bile dodane nove direktive:
- «» — konfigurira obnašanje «TCP keepalive» za odhodne povezave na proxy strežnik;
- «» — konfigurira obnašanje «TCP keepalive» za odhodne povezave na FastCGI strežnik;
- «» — konfigurira obnašanje «TCP keepalive» za odhodne povezave na gRPC strežnik;
- «» — konfigurira obnašanje «TCP keepalive» za odhodne povezave na memcached strežnik;
- «» — konfigurira obnašanje «TCP keepalive» za odhodne povezave na SCGI strežnik;
- «» — konfigurira obnašanje «TCP keepalive» za odhodne povezave na uwsgi strežnik.
- V direktivo « je bil dodan nov parameter «delay», ki določa omejitev, pri dosegu katere se odvečni zahtevki zadržijo;
- V blok «upstream» so bile dodane nove direktive «keepalive_timeout» in «keepalive_requests» za določitev omejitev za Keepalive;
- Direktiva «ssl» je razglašena za zastarelo, njeno mesto je zavzel parameter «ssl» v direktivi «listen». Določitev manjkajočih SSL-certifikatov se zdaj izvede v fazi testiranja konfiguracije pri uporabi za nastavitve direktive «listen» s parametrom «ssl»;
- Pri uporabi direktive reset_timedout_connection se zdaj ob potečenem časovnem limitu povezave zaprejo z uporabo kode 444;
- SSL-napake «http request», «https proxy request», «unsupported protocol» in «version too low» so zdaj zabeležene v dnevniku z nivojem «info» namesto «crit»;
- Dodana podpora za metodo poll na sistemih Windows pri uporabi Windows Vista in novejših;
- Omogočena je uporaba pri gradnji z knjižnico BoringSSL, ne samo z OpenSSL.
Izvor: opennet.ru
