Ukukhutshwa kwe-nginx 1.19.7, njs 0.5.1 kunye ne-NGINX Unit 1.22.0

Isebe eliphambili le-nginx 1.19.7 likhutshiwe, ngaphakathi apho ukuphuhliswa kweempawu ezintsha kuyaqhubeka (kwisebe elizinzile elixhaswayo 1.18, kuphela utshintsho olunxulumene nokupheliswa kweempazamo ezinzulu kunye nobuthathaka obuyenziwe).

Utshintsho oluphambili:

  • Xa inkqubo yabasebenzi iphelelwa kuqhagamshelo lwasimahla, i-nginx ngoku ayivali kuphela uqhagamshelo lwe-keevalive, kodwa nemidibaniso elinde ukuba isokethi ivalwe (“ivale ngokukhawuleza”).
  • Ikhowudi yokucubungula uqhagamshelwano kwi-HTTP/2 isondele ekuphunyezweni kweHTTP/1.x. Inkxaso yeesethingi zomntu ngamnye "http2_recv_timeout", "http2_idle_timeout" kunye ne-"http2_max_requests" iye yapheliswa ngokuxhasa imiyalelo ngokubanzi "keepalive_timeout" kunye no-"keepalive_requests".
  • Isetingi "http2_max_field_size" kunye "http2_max_header_size" zisusiwe kwaye endaweni yoko kufuneka kusetyenziswe "large_client_header_buffers".

Kwangaxeshanye, i-njs 0.5.1, itoliki yeJavaScript ye umncedisi wewebhu nginx. Itoliki ye-njs isebenzisa imigangatho ye-ECMAScript kwaye ikuvumela ukuba wandise amandla okucubungula izicelo ze-nginx usebenzisa izikripthi zokumisela. Izikripthi zingasetyenziswa kwifayile yokumisela ukuchaza i-logic yokucubungula izicelo eziphambili, ukuvelisa uqwalaselo, ukuvelisa iimpendulo ngokuguquguqukayo, ukuguqula izicelo/iimpendulo, okanye ukwenza ngokukhawuleza iziqwenga zokusombulula imiba kwizicelo zewebhu.

Uguqulelo olutsha longeza umyalelo othi "js_header_filter", okuvumela ukuba usete umsebenzi weJavaScript wokucoca kunye nokutshintsha iiheader zempendulo ezingaqondakaliyo: js_import foo.js; indawo / {js_header_filter foo. filter; iproxy_pass http://127.0.0.1:8081/; } foo.js: umsebenzi wokucoca (r) {var cookies = r.headersOut['Set-Cookie']; var len = r.args.len ? Inani(r.args.len) : 0; r.headersOut['Set-Cookie'] = cookies.filter(v=>v.length > len); } thumela ngaphandle okwendalo {isihluzi};

Kwakhona kongezwa indlela ye-ngx.fetch(), esebenzisa i-API yokulanda, ebonelela ngokusebenza komxhasi we-HTTP. Indlela ixhasa ukusetyenzwa komzimba, iiheader, buffer_size kunye ne max_response_body_size options. Into yeMpendulo ebuyisiweyo ixhasa iarrayBuffer(), bodyUsed, json(), headers, ok, redirect, status, statusText, text(), uhlobo kunye neendlela zeurl, kwaye into ye Header ixhasa get(), getAll() kwaye ine() iindlela . umsebenzi fetch(r) {ngx.fetch('http://nginx.org/') .then(phendula => reply.text()) .then(umzimba => r.return(200, body)) .catch (e => r.return (501, e.message)); }

Ungaphawula kwakhona impapasho umncedisi Iyunithi ye-NGINX 1.22, isisombululo sokusebenzisa ii-web applications ezibhalwe ngeelwimi ezahlukeneyo zeprogram (iPython, i-PHP, i-Perl, i-Ruby, i-Go, iJavaScript/i-Node.js, kunye ne-Java). Iyunithi ye-NGINX ingasebenzisa ngaxeshanye ii-applications ezininzi ezibhalwe ngeelwimi ezahlukeneyo, kwaye iiparameters zazo zokuqalisa zinokutshintshwa ngokuguquguqukayo ngaphandle kwesidingo sokuhlela iifayile zoqwalaselo okanye ukuqala kwakhona. Ikhowudi ibhalwe ngo-C kwaye inelayisenisi phantsi kwelayisensi ye-Apache 2.0.

Ukukhutshwa kweyunithi entsha ye-NGINX kugxile ekuphuculeni uzinzo, ekwandiseni amandla okuvavanya, kunye nokulungisa iimpazamo. Linux Umsebenzisi kunye neqela elisebenza phantsi kwe-NGINX Unit kwiipakethe litshintshiwe. Endaweni ye-nobody:nobody , iinkqubo ngoku zisebenza phantsi kweyunithi eyahlukileyo yomsebenzisi egama layo kwiqela leyunithi. Ukuhambelana ne-Stream API yezinto zeServerRequest kunye neServerResponse ezivela kwimodyuli yeNode.js kuqinisekisiwe. Iifolda ezininzi ngoku zinokuchazwa kukhetho "lwendlela" lwezicelo zePython.

umthombo: opennet.ru

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster