nginx 1.25.3, njs 0.8.2 és NGINX Unit 1.31.1 kiadás

Az nginx 1.25.3 fő ágának kiadása megtörtént, amely továbbra is új lehetőségek fejlesztésére összpontosít. A párhuzamosan karbantartott 1.24.x stabil ágon csak olyan változtatások történnek, amelyek a súlyos hibák és sebezhetőségek kijavítására vonatkoznak. A jövőben a fő ág 1.25.x alapjául stabil ág lesz létrehozva 1.26 néven. A projekt kódja C nyelven íródott és BSD licenc alatt terjesztik.

A változtatások közül:

  • Fokozott védelmet kapott a HTTP/2 anomális ügyféletei aktivitásainak, különös figyelmet fordítva a 'Rapid Reset' típusú DoS támadásokra, amelyek esetében egy HTTP/2 kapcsolat keretein belül számos azonnal visszaállított áram folyamatot hoznak létre. Az alapértelmezett konfigurációban az ilyen támadások a 'keepalive_requests' kapcsolatra vonatkozó kérdések számának limitjével ütköznek (minden 1000 kérdés után a kapcsolat visszaállításra kerül) és a 'limit_req' korlátozásokkal. A nagyszámú szálon keresztüli kérdés áradataira való gyorsabb reagálás érdekében egy további korlátozás került bevezetésre, amely megakadályozza, hogy alapértelmezett módon 256 (2 * max_concurrent_streams) új áramot hozzanak létre minden eseménykezelési ciklus során. Az új korlátozás lehetővé teszi a kérdések blokkolását, mielőtt elérnénk a teljes, egyidejű áramok számának limitjét, például amikor az áramokat aszinkron módon dolgozzák fel vagy resetelnek. Hasonló változtatás került be az angie 1.3.1 kiadásaiba (nginx fork), amely egy hete került publikálásra.
  • Javították a HTTP/2 kapcsolatok automatikus meghatározásakor használt puffereket.
  • Növelve lett a konfigurációk indításának teljesítménye, amelyeken számos 'location' direktíva szerepel.
  • Megszüntették a munkafolyamat váratlan leállását, amelyet a HTTP/2 használati próbálkozásakor tapasztaltak. SSL.
  • Javítva lett a backend által visszaadott 'Status' fejléc helytelen kezelése üres magyarázó szöveggel.
  • Megszüntették a memória szivárgását újrakonfiguráláskor, amely a PCRE2 könyvtárral való fordítás során fordult elő.
  • Számos javítást és fejlesztést hajtottak végre a HTTP/3 protokoll támogatásával kapcsolatban.

Ugyanakkor megjelent az njs 0.8.2, a JavaScript nyelv értelmezője számára. webszerver Az nginx njs értelmezője megvalósítja az ECMAScript szabványokat, és lehetővé teszi az nginx képességeinek kiterjesztését a kérések feldolgozása érdekében konfigurációs szkriptek segítségével. A szkriptek felhasználhatók a konfigurációs fájlban a kérések feldolgozásának bonyolultabb logikájának meghatározására, a konfiguráció formálására, a válasz dinamikus generálására, a kérés/válasz módosítására vagy gyors prototípusok létrehozására a webalkalmazások problémáinak megoldásához. Az új verzióban bekerült a console objektum, amely error(), info(), log(), time(), timeEnd() és warn() metódusokat biztosít. Az fs modulhoz hozzáadták az fs.existsSync() metódust.

Emellett megemlíthetjük az NGINX Unit 1.31.1 alkalmazásszerver kiadását, amely megoldást nyújt webalkalmazások futtatására különböző programozási nyelveken (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js és Java). Az NGINX Unit alatt több alkalmazás is párhuzamosan futtatható különböző programozási nyelveken, amelyek indítási paraméterei dinamikusan módosíthatók a konfigurációs fájlok módosítása és újraindítás nélkül. Az új verzióban a Wasm modulban lehetővé vált 4 GB-nál nagyobb adat méretének betöltése, és a válaszadás során lehetőség van HTTP állapotkódok beállítására is.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster