UtgÄvan nginx 1.25.3, njs 0.8.2 och NGINX Unit 1.31.1

UtgÄvan av huvudgrenen nginx 1.25.3 har skapats, dÀr utvecklingen av nya funktioner fortsÀtter. I den parallellt stödda stabila grenen 1.24.x görs endast Àndringar relaterade till att ÄtgÀrda allvarliga fel och sÄrbarheter. I framtiden kommer den stabila grenen 1.26 att baseras pÄ huvudgrenen 1.25.x. Projektets kod Àr skriven i C och distribueras under BSD-licensen.

Bland Àndringarna:

  • Skyddet mot anomal aktivitet hos HTTP/2-kunder har förstĂ€rkts, sĂ€rskilt mot DoS-attacker av typen "Rapid Reset", dĂ€r ett stort antal strömmar som omedelbart stĂ€ngs skapas inom en enda HTTP/2-anslutning. I standardkonfigurationen begrĂ€nsas sĂ„dana attacker av grĂ€nsen för antalet förfrĂ„gningar pĂ„ anslutningen "keepalive_requests" (efter varje 1000 förfrĂ„gningar kommer anslutningen att stĂ€ngas) och av begrĂ€nsningarna "limit_req". För att reagera snabbare pĂ„ flödande förfrĂ„gningar via ett stort antal strömmar har ett extra begrĂ€nsning lagts till som förbjuder skapande av mer Ă€n 256 (2 * max_concurrent_streams) nya strömmar per event-loop som standard. Denna nya begrĂ€nsning möjliggör att blockera förfrĂ„gningar innan den totala grĂ€nsen för antalet samtidiga strömmar nĂ„s, till exempel nĂ€r strömmarna behandlas asynkront eller stĂ€ngs. En liknande Ă€ndring ingick ocksĂ„ i utgĂ„van av angie 1.3.1 (en fork av nginx) som publicerades för en vecka sedan.
  • Hantera buffertarna som anvĂ€nds vid automatisk upptĂ€ckte av HTTP/2-anslutningar har förbĂ€ttrats.
  • Prestandan vid uppstart av konfigurationer med ett stort antal "location"-direktiv har ökat.
  • Kraschning av arbetsprocessen som observerades vid försök att anvĂ€nda HTTP/2 utan SSL.
  • Felaktig hantering av den Ă„tervĂ€ndande statushuvudet frĂ„n back-end med tom förklarande text har Ă„tgĂ€rdats.
  • MinneslĂ€ckan vid omkonfiguration, som intrĂ€ffar vid kompilering med PCRE2-biblioteket, har Ă„tgĂ€rdats.
  • En stor mĂ€ngd korrigeringar och förbĂ€ttringar relaterade till stöd för HTTP/3-protokollet har genomförts.

Samtidigt har njs 0.8.2 slÀppts, en JavaScript-tolk för webbservern nginx. Tolkningen av njs implementerar ECMAScript-standarder och möjliggör att utöka nginx:s kapabiliteter för att hantera förfrÄgningar med skript i konfigurationen. Skript kan anvÀndas i konfigurationsfilen för att definiera avancerad logik för hantering av förfrÄgningar, skapa konfigurationer, dynamiskt generera svar, modifiera förfrÄgningar/svar eller snabbt skapa stubbar för att lösa problem i webbapplikationer. I den nya versionen har objektet console lagts till, som erbjuder metoderna error(), info(), log(), time(), timeEnd() och warn(). Metoden fs.existsSync() har lagts till i modulen fs.

Det Àr ocksÄ vÀrt att notera publiceringen av applikationsservern NGINX Unit 1.31.1, som erbjuder en lösning för att köra webbapplikationer pÄ olika programmeringssprÄk (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js och Java). Flera applikationer pÄ olika programmeringssprÄk kan köras samtidigt under NGINX Unit, vars startparametrar kan Àndras dynamiskt utan att behöva Àndra konfigurationsfiler och starta om. Förutom buggfixar har den nya versionen i Wasm-modulen tillÄtit uppladdning av data över 4 GB, och det har tillkommit möjlighet att stÀlla in HTTP-statuskoder vid svar.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster