Kutolewa kwa nginx 1.25.3, njs 0.8.2 na NGINX Unit 1.31.1

Tawi kuu la nginx 1.25.3 limetolewa, ndani ambayo maendeleo ya vipengele vipya yanaendelea. Tawi thabiti la 1.24.x linalodumishwa sambamba lina mabadiliko yanayohusiana tu na uondoaji wa hitilafu na udhaifu mkubwa. Katika siku zijazo, kulingana na tawi kuu 1.25.x, tawi la 1.26 la utulivu litaundwa. Msimbo wa mradi umeandikwa kwa C na kusambazwa chini ya leseni ya BSD.

Miongoni mwa mabadiliko:

  • Ulinzi dhidi ya shughuli zisizo za kawaida za mteja wa HTTP/2 umeimarishwa, hasa dhidi ya mashambulizi ya "Rejesha Upya kwa Haraka" ambayo huunda idadi kubwa ya kuweka upya mitiririko kwa wakati mmoja ndani ya muunganisho mmoja wa HTTP/2. Katika usanidi chaguo-msingi, mashambulizi kama hayo yamepunguzwa na kikomo cha ombi la uunganisho la "keepalive_requests" (muunganisho umewekwa upya baada ya kila ombi 1000) na vizuizi vya "limit_req". Ili kujibu maombi mengi kwa haraka katika idadi kubwa ya mitiririko, kikomo cha ziada kimeongezwa, na hivyo kuzuia kuundwa kwa mitiririko mipya 256 (2 * max_concurrent_streams) kwa kila mzunguko wa kuchakata tukio kwa chaguomsingi. Kikomo hiki kipya kinaruhusu kuzuia maombi kabla ya kikomo cha jumla cha kutiririsha kwa wakati mmoja kufikiwa, kwa mfano, mitiririko inapochakatwa kwa mpangilio au kuwekwa upya. Mabadiliko sawa pia yalijumuishwa katika toleo la Angie 1.3.1 (uma la Nginx), lililochapishwa wiki moja iliyopita.
  • Udhibiti ulioboreshwa wa vibafa unaotumika wakati wa kutambua miunganisho ya HTTP/2 kiotomatiki.
  • Utendaji wa kuzindua usanidi na idadi kubwa ya maagizo ya "eneo" imeboreshwa.
  • Imerekebisha ajali ya mchakato wa mfanyakazi ambayo inaweza kutokea wakati wa kujaribu kutumia HTTP/2 bila SSL.
  • Uchakataji usio sahihi wa kichwa cha "Hali" kilichorejeshwa na sehemu ya nyuma chenye maandishi tupu ya maelezo.
  • Ilirekebisha uvujaji wa kumbukumbu wakati wa usanidi upya ambao ulitokea wakati wa kujenga na maktaba ya PCRE2.
  • Idadi kubwa ya marekebisho na maboresho yanayohusiana na usaidizi wa itifaki ya HTTP/3 yameanzishwa.

Wakati huo huo, njs 0.8.2, mkalimani wa JavaScript kwa seva ya wavuti nginx. Mtafsiri wa njs hutekeleza viwango vya ECMAScript na hukuruhusu kupanua uwezo wa usindikaji wa ombi la nginx kwa kutumia hati za usanidi. Hati zinaweza kutumika katika faili ya usanidi ili kufafanua mantiki ya usindikaji wa ombi la hali ya juu, kutoa usanidi, kutoa majibu kwa njia inayobadilika, kurekebisha maombi/majibu, au kuunda haraka hati za kutatua matatizo katika programu za wavuti. Toleo jipya linaongeza kitu cha koni, ambacho hutoa mbinu za hitilafu (), info (), log (), time (), time End (), na warn (). Mbinu ya fs.existsSync () imeongezwa kwenye moduli ya fs.

Pia ijulikane ni kutolewa kwa NGINX Unit 1.31.1, suluhisho la seva ya programu ya kuendesha programu za wavuti katika lugha tofauti za programu (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, na Java). Kitengo cha NGINX kinaweza kuendesha programu nyingi kwa wakati mmoja katika lugha tofauti, na vigezo vyao vya uzinduzi vinaweza kubadilishwa kwa nguvu bila hitaji la kuhariri faili za usanidi au kuanza tena. Kando na kurekebisha hitilafu, toleo jipya la moduli ya Wasm huruhusu kupakua data kubwa kuliko GB 4, na huruhusu kuweka misimbo ya hali ya HTTP katika majibu.

Chanzo: opennet.ru

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster