După un an de dezvoltare o nouă ramură stabilă a unui server HTTP de înaltă performanță și a unui proxy multi-protocol , care a reunit modificările acumulate în ramura principală 1.15.x. În continuare, toate modificările din ramura stabilă 1.16 vor fi legate de corectarea erorilor grave și a vulnerabilităților. În curând va fi formată ramura principală nginx 1.17, în cadrul căreia va continua dezvoltarea de noi funcționalități. Pentru utilizatorii obișnuiți, care nu au ca obiectiv asigurarea compatibilității cu modulele externe, se recomandă utilizarea ramurii principale, pe baza căreia la fiecare trei luni se formează versiuni ale produsului comercial Nginx Plus.
Cele mai notabile îmbunătățiri adăugate în procesul de formare a ramurii principale 1.15.x:
- A fost adăugată posibilitatea de a utiliza variabile în directivele ‘‘ și ‘‘, care pot fi folosite pentru încărcarea dinamică a certificatelor;
- A fost adăugată posibilitatea de a încărca certificate SSL și chei secrete din variabile fără utilizarea fișierelor intermediare;
- În blocul «» a fost implementată o nouă directivă ««, prin care se poate organiza balansarea încărcăturii cu selecție aleatorie a serverului pentru redirecționarea conexiunii;
- În modulul a fost implementată variabila ,
care determină cea mai mare versiune a protocolului SSL/TLS pe care o suportă clientul. Variabila permite pentru accesul utilizând diverse protocoale, cu SSL și fără SSL printr-un singur port de rețea în timp ce se proxy traffic folosind modulele http și stream. De exemplu, pentru organizarea accesului pe SSH și HTTPS printr-un singur port 443, portul implicit poate fi direcționat către SSH, dar dacă se definește o versiune SSL, se va redirecționa către HTTPS. - În modul upstream a fost adăugată o nouă variabilă ««, care afișează numărul de biți transferați către serverul grupului;
- În modulul în cadrul unei sesiuni a fost adăugată posibilitatea de a procesa mai multe datagrame UDP de intrare de la client;
- În modul stream a fost adăugată directiva ««, care stabilește numărul de datagrame primite de la client, la atingerea căruia se elimină legătura dintre client și sesiunea UDP existentă. După primirea numărului specificat de datagrame, următoarea datagramă primită de la același client începe o nouă sesiune;
- În directiva listen a fost adăugată posibilitatea de a specifica intervale de porturi;
- A fost adăugată directivele „” pentru activarea modului în utilizarea TLSv1.3, care permite păstrarea parametrilor TLS conveniți anterior și reducerea la 2 a numărului de RTT atunci când se reia o conexiune anterior stabilită;
- Pentru configurarea keepalive pentru conexiunile de ieșire (activarea sau dezactivarea opțiunii SO_KEEPALIVE pentru socketuri) au fost adăugate noi directive:
- «” — configurează comportamentul „TCP keepalive” pentru conexiunile de ieșire către serverul proxy;
- «” — configurează comportamentul „TCP keepalive” pentru conexiunile de ieșire către serverul FastCGI;
- «” — configurează comportamentul „TCP keepalive” pentru conexiunile de ieșire către serverul gRPC;
- «” — configurează comportamentul „TCP keepalive” pentru conexiunile de ieșire către serverul memcached;
- «” — configurează comportamentul „TCP keepalive” pentru conexiunile de ieșire către serverul SCGI;
- «” — configurează comportamentul „TCP keepalive” pentru conexiunile de ieșire către serverul uwsgi.
- În directiva „ ” a fost adăugat un nou parametru „delay”, care stabilește limita, la atingerea căreia cererile excesive sunt întârziate;
- În blocul „upstream” au fost adăugate noi directive „keepalive_timeout” și „keepalive_requests” pentru a stabili limite pentru Keepalive;
- Directiva „ssl” a fost declarată învechită, fiind înlocuită de parametrul „ssl” în directiva „listen”. Identificarea certificatelor SSL lipsă se realizează acum în etapa de testare a configurației atunci când se folosește directiva „listen” cu parametrul „ssl”;
- La utilizarea directivei reset_timedout_connection, la expirarea timeout-ului conexiunii, acum se închid folosind codul 444;
- Erorile SSL „http request”, „https proxy request”, „unsupported protocol” și „version too low” sunt acum înregistrate în jurnal cu nivelul „info” în loc de „crit”;
- A fost adăugat suport pentru metoda poll pe sistemele Windows în utilizarea Windows Vista și mai recent;
- A fost asigurată posibilitatea de a utiliza la compilarea cu biblioteca BoringSSL, nu doar cu OpenSSL.
Sursa: opennet.ro
