Rhyddhau nginx 1.25.3, njs 0.8.2 ac Uned NGINX 1.31.1

Mae prif gangen nginx 1.25.3 wedi'i ryddhau, ac o fewn hynny mae datblygiad nodweddion newydd yn parhau. Mae'r gangen sefydlog a gynhelir yn gyfochrog 1.24.x yn cynnwys newidiadau sy'n ymwneud â dileu bygiau difrifol a gwendidau yn unig. Yn y dyfodol, yn seiliedig ar y brif gangen 1.25.x, bydd cangen sefydlog 1.26 yn cael ei ffurfio. Mae cod y prosiect wedi'i ysgrifennu yn C a'i ddosbarthu o dan y drwydded BSD.

Ymhlith y newidiadau:

  • Mae amddiffyniad rhag gweithgaredd annormal cleientiaid HTTP/2 wedi'i gryfhau, ac, yn benodol, yn erbyn ymosodiadau DoS o'r dosbarth “Ailosod Cyflym”, lle mae nifer fawr o edafedd ailosod yn syth yn cael eu creu o fewn un cysylltiad HTTP / 2. Yn y cyfluniad diofyn, mae ymosodiadau o'r fath wedi'u cyfyngu gan y terfyn ar nifer y ceisiadau fesul cysylltiad “keepalive_requests” (ar ôl pob 1000 o geisiadau bydd y cysylltiad yn cael ei ailosod) a'r cyfyngiadau “limit_req”. Er mwyn ymateb yn gynharach i lifogydd gyda cheisiadau trwy nifer fawr o edafedd, ychwanegwyd cyfyngiad ychwanegol nad yw'n caniatáu creu mwy na 256 (2 * max_concurrent_streams) edafedd newydd fesul cylch prosesu digwyddiad yn ddiofyn. Mae'r terfyn newydd yn ei gwneud hi'n bosibl dechrau blocio ceisiadau cyn cyrraedd y terfyn cyffredinol ar nifer yr edafedd cydamserol, er enghraifft pan fydd edafedd yn cael eu prosesu'n anghydamserol neu'n cael eu fflysio. Cynhwyswyd newid tebyg hefyd yn y datganiad o angie 1.3.1 (nginx fforc), a gyhoeddwyd wythnos yn ôl.
  • Gwell rheolaeth ar glustogau a ddefnyddir wrth ganfod cysylltiadau HTTP/2 yn awtomatig.
  • Mae perfformiad lansio ffurfweddiadau gyda nifer fawr o gyfarwyddebau “lleoliad” wedi'i wella.
  • Trwsiodd gwall proses gweithiwr a allai ddigwydd wrth geisio defnyddio HTTP/2 heb SSL.
  • Prosesu anghywir sefydlog o'r pennawd “Statws” wedi'i ddychwelyd erbyn yr ôl-ben gyda thestun esboniadol gwag.
  • Wedi trwsio gollyngiad cof yn ystod yr ad-drefnu a ddigwyddodd wrth adeiladu gyda'r llyfrgell PCRE2.
  • Mae cyfran fawr o atebion a gwelliannau sy'n ymwneud â chefnogaeth ar gyfer y protocol HTTP/3 wedi'u cyflwyno.

Ar yr un pryd, njs 0.8.2, dehonglydd JavaScript ar gyfer gweinydd gwe nginx. Mae'r dehonglydd njs yn gweithredu safonau ECMAScript ac yn caniatáu ichi ymestyn galluoedd prosesu ceisiadau nginx gan ddefnyddio sgriptiau ffurfweddu. Gellir defnyddio sgriptiau yn y ffeil ffurfweddu i ddiffinio rhesymeg prosesu ceisiadau uwch, cynhyrchu ffurfweddiad, cynhyrchu ymatebion yn ddeinamig, addasu ceisiadau/ymatebion, neu greu bonion yn gyflym i ddatrys problemau mewn cymwysiadau gwe. Mae'r fersiwn newydd yn ychwanegu gwrthrych consol, sy'n darparu'r dulliau error(), info(), log(), time(), timeEnd(), a warn(). Mae'r dull fs.existsSync() wedi'i ychwanegu at y modiwl fs.

Gallwch hefyd nodi cyhoeddi gweinydd cais NGINX Unit 1.31.1, sy'n darparu datrysiad ar gyfer rhedeg cymwysiadau gwe mewn amrywiol ieithoedd rhaglennu (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js a Java). Gall Uned NGINX redeg cymwysiadau lluosog ar yr un pryd mewn gwahanol ieithoedd rhaglennu, a gellir newid eu paramedrau lansio yn ddeinamig heb yr angen i olygu ffeiliau cyfluniad ac ailgychwyn. Yn ogystal ag atgyweiriadau nam, mae'r fersiwn newydd yn y modiwl Wasm yn caniatáu llwytho data sy'n fwy na 4 GB, ac wrth ymateb, mae'n bosibl gosod codau statws HTTP.

Ffynhonnell: opennet.ru

Ychwanegu sylw