Hovedgrenen af nginx 1.21.2 er blevet frigivet, inden for hvilken udviklingen af nye funktioner fortsætter (i den parallelt understøttede stabile gren 1.20 foretages kun ændringer relateret til eliminering af alvorlige fejl og sårbarheder).
Vigtigste ændringer:
- HTTP/1.0-anmodninger, der inkluderer "Transfer-Encoding" HTTP-headeren, er blokeret (vises i HTTP/1.1-protokolversionen).
- Understøttelse af eksportchifferpakke er afbrudt.
- Kompatibilitet med OpenSSL 3.0-biblioteket er sikret.
- Implementerede overførslen af "Auth-SSL-Protocol" og "Auth-SSL-Cipher"-headerne til mail proxy-godkendelsesserveren.
- Forespørgselskroppsfiltrerings-API'en tillader buffering af behandlede data.
- Ved indlæsning af servercertifikater er brugen af understøttede sikkerhedsniveauer fra OpenSSL 1.1.0 og specificeret via parameteren "@SECLEVEL=N" i ssl_ciphers-direktivet blevet justeret.
- Rettede hængninger, der opstod ved oprettelse af en SSL-forbindelse til backends i stream- og gRPC-modulerne.
- Problemet med at skrive anmodningsteksten til disken, når du bruger HTTP/2, i mangel af "Content-Length"-headeren i anmodningen, er blevet løst.
Samtidig blev njs 0.6.2 frigivet, en JavaScript-fortolker til nginx-webserveren. njs-fortolkeren implementerer ECMAScript-standarder og giver dig mulighed for at udvide nginx's evne til at behandle anmodninger ved hjælp af scripts i konfigurationen. Scripts kan bruges i en konfigurationsfil til at definere avanceret logik til behandling af anmodninger, generering af en konfiguration, dynamisk generering af et svar, ændring af en anmodning/svar eller hurtigt oprettelse af stubs til at løse problemer i webapplikationer. I den nye version er Promise.all(), Promise.allSettled(), Promise.any() og Promise.race() metoderne blevet tilføjet til Promise-implementeringen. Implementeret understøttelse af AggregateError-objektet.
Kilde: opennet.ru