A fost lansată versiunea principală a nginx 1.21.2, în cadrul căreia continuă dezvoltarea de noi funcționalități (în ramura stabilă 1.20, care este susținută în paralel, sunt efectuate doar modificări legate de remedierile de erori grave și vulnerabilități).
Modificări principale:
- A fost asigurată blocarea solicitărilor HTTP/1.0 care includ antetul HTTP „Transfer-Encoding” (apărut în versiunea protocolului HTTP/1.1).
- A fost suspendat suportul pentru setul de criptare export.
- S-a asigurat compatibilitatea cu biblioteca OpenSSL 3.0.
- A fost implementată transmiterea antetelor "Auth-SSL-Protocol" și "Auth-SSL-Cipher" către serverul de autentificare al proxy-ului de poștă.
- În API-ul de filtrare a corpului cererii, s-a permis buffering-ul datelor procesate.
- În timpul încărcării certificatelor serverului, s-a stabilit utilizarea nivelurilor de securitate, care sunt suportate începând cu OpenSSL 1.1.0 și sunt definite prin parametrul "@SECLEVEL=N" în directiva ssl_ciphers.
- S-au eliminat blocajele care apăreau la crearea SSL-conexiunilor către backend-uri în modulele stream și gRPC.
- A fost rezolvată problema scrierii pe disc a corpului cererii atunci când se utilizează HTTP/2, în cazul în care antetul "Content-Length" lipsește din cerere.
De asemenea, a fost lansată njs 0.6.2, interpretul pentru limbajul JavaScript pentru server web nginx. Interpretul njs implementează standardele ECMAScript și permite extinderea capacităților nginx de procesare a cererilor prin intermediul scripturilor în configurație. Scripturile pot fi folosite în fișierul de configurație pentru a defini logica extinsă de procesare a cererilor, generarea configurației, generarea dinamică a răspunsurilor, modificarea cererilor/răspunsurilor sau crearea rapidă de stub-uri pentru a rezolva probleme în aplicațiile web. În noua versiune, implementarea Promise a fost extinsă cu metodele Promise.all(), Promise.allSettled(), Promise.any() și Promise.race(). A fost implementat suportul pentru obiectul AggregateError.
Sursa: opennet.ro
