Lansarea nginx 1.21.2 și njs 0.6.2

A fost lansată ramura principală a nginx 1.21.2, în cadrul căreia dezvoltarea de noi funcții continuă (în ramura stabilă 1.20 suportată în paralel se fac doar modificări legate de eliminarea erorilor și vulnerabilităților grave).

Principalele modificări:

  • Solicitările HTTP/1.0 care includ antetul HTTP „Transfer-Encoding” sunt blocate (apar în versiunea protocolului HTTP/1.1).
  • Suportul pentru export cipher suite a fost întrerupt.
  • Compatibilitatea cu biblioteca OpenSSL 3.0 este asigurată.
  • Am implementat transferul antetelor „Auth-SSL-Protocol” și „Auth-SSL-Cipher” către serverul de autentificare proxy de e-mail.
  • API-ul de filtrare a corpului cererii permite stocarea în tampon a datelor procesate.
  • La încărcarea certificatelor de server, utilizarea nivelurilor de securitate acceptate începând de la OpenSSL 1.1.0 și specificate prin parametrul „@SECLEVEL=N” din directiva ssl_ciphers a fost ajustată.
  • S-au remediat blocările care au apărut la crearea unei conexiuni SSL la backend-urile din modulele de flux și gRPC.
  • Problema cu scrierea corpului cererii pe disc când se folosește HTTP/2, în absența antetului „Lungimea conținutului” din cerere, a fost rezolvată.

În același timp, a fost lansat njs 0.6.2, un interpret JavaScript pentru serverul web nginx. Interpretul njs implementează standardele ECMAScript și vă permite să extindeți capacitatea nginx de a procesa cereri folosind scripturi în configurație. Scripturile pot fi utilizate într-un fișier de configurare pentru a defini logica avansată pentru procesarea cererilor, generarea unei configurații, generarea dinamică a unui răspuns, modificarea unei cereri/răspuns sau crearea rapidă a stub-urilor pentru a rezolva probleme în aplicațiile web. În noua versiune, metodele Promise.all(), Promise.allSettled(), Promise.any() și Promise.race() au fost adăugate la implementarea Promise. S-a implementat suport pentru obiectul AggregateError.

Sursa: opennet.ru

Adauga un comentariu