Megjelent az nginx 1.21.2 fő ága, amelyen belül folytatódik az új funkciók fejlesztése (a párhuzamosan támogatott, stabil 1.20-as ágban csak a súlyos hibák, sebezhetőségek kiküszöbölésével kapcsolatos változtatások történnek).
Nagy változások:
- A „Transfer-Encoding” HTTP fejlécet tartalmazó HTTP/1.0 kérések blokkolva vannak (a HTTP/1.1 protokollverzióban jelennek meg).
- Az export titkosítási csomag támogatása megszűnt.
- Az OpenSSL 3.0 könyvtárral való kompatibilitás biztosított.
- Megvalósította az „Auth-SSL-Protocol” és „Auth-SSL-Cipher” fejlécek átvitelét a levél proxy hitelesítési kiszolgálóra.
- A kérelem törzsszűrési API lehetővé teszi a feldolgozott adatok pufferelését.
- A szervertanúsítványok betöltésekor az OpenSSL 1.1.0-tól kezdődően támogatott és az ssl_ciphers direktíva „@SECLEVEL=N” paraméterén keresztül meghatározott biztonsági szintek használata módosult.
- Kijavítottuk a lefagyásokat, amelyek a stream- és a gRPC-modulok háttérprogramjaihoz való SSL-kapcsolat létrehozásakor fordultak elő.
- Megoldódott a probléma a kérés törzsének lemezre írásával kapcsolatban HTTP/2 használatakor, ha a kérelemben nem szerepel a „Content-Length” fejléc.
Ezzel egyidőben megjelent az njs 0.6.2, egy JavaScript értelmező az nginx webszerverhez. Az njs interpreter az ECMAScript szabványokat valósítja meg, és lehetővé teszi az nginx azon képességének bővítését, hogy a konfigurációban lévő parancsfájlok segítségével feldolgozza a kéréseket. A parancsfájlok egy konfigurációs fájlban használhatók a kérések feldolgozásához, konfigurációk generálásához, dinamikus válasz generálásához, kérés/válasz módosításához vagy a webalkalmazások problémáinak megoldásához szükséges csonkok gyors létrehozásához. Az új verzióban a Promise.all(), Promise.allSettled(), Promise.any() és Promise.race() metódusok kerültek a Promise megvalósításba. Megvalósított támogatás az AggregateError objektumhoz.
Forrás: opennet.ru