Tso tawm nginx 1.19.7, njs 0.5.1 thiab NGINX Chav 1.22.0

Cov ceg tseem ceeb ntawm nginx 1.19.7 tau raug tso tawm, nyob rau hauv uas txoj kev loj hlob ntawm cov yam ntxwv tshiab txuas ntxiv (nyob rau hauv qhov kev txhawb nqa ruaj khov ceg 1.18, tsuas yog kev hloov pauv cuam tshuam txog kev tshem tawm qhov ua yuam kev loj thiab qhov tsis zoo).

Cov kev hloov loj:

  • Thaum cov txheej txheem neeg ua haujlwm khiav tawm ntawm kev sib txuas dawb, nginx tam sim no kaw tsis yog kev sib txuas ruaj khov, tab sis kuj tseem muaj kev sib txuas tos lub qhov (socket) kaw ("lingering ze").
  • Qhov kev sib txuas ua tiav hauv HTTP / 2 yog ze rau HTTP / 1.x kev siv. Kev them nyiaj yug rau tus kheej qhov chaw "http2_recv_timeout", "http2_idle_timeout" thiab "http2_max_requests" tau raug txiav tawm raws li cov lus qhia dav dav "keepalive_timeout" thiab "keepalive_requests".
  • Cov chaw "http2_max_field_size" thiab "http2_max_header_size" tau raug tshem tawm thiab "loj_client_header_buffers" yuav tsum tau siv los hloov.

Tib lub sijhawm, njs 0.5.1 raug tso tawm, tus neeg txhais lus JavaScript rau nginx web server. Tus neeg txhais lus njs siv ECMAScript cov qauv thiab tso cai rau koj nthuav nginx lub peev xwm los ua cov ntawv thov siv cov ntawv sau hauv kev teeb tsa. Cov ntawv sau tuaj yeem siv tau rau hauv cov ntaub ntawv teeb tsa los txhais cov ntsiab lus siab tshaj plaws rau kev ua cov lus thov, tsim ib qho kev teeb tsa, dynamically tsim cov lus teb, hloov kho qhov kev thov / teb, lossis sai sai tsim stubs los daws cov teeb meem hauv web applications.

Tus tshiab version ntxiv "js_header_filter" cov lus qhia, uas tso cai rau koj los teeb tsa JavaScript muaj nuj nqi rau kev lim thiab hloov cov lus teb arbitrary headers: js_import foo.js; qhov chaw / {js_header_filter foo.filter; proxy_pass http://127.0.0.1:8081/; } foo.js: function filter(r) {var cookies = r.headersOut['Set-Cookie']; var len = r.args.len ? Number(r.args.len): 0; r.headersOut['Set-Cookie'] = cookies.filter(v=>v.length> len); } export default {filter};

Tsis tas li ntawd ntxiv yog ngx.fetch() txoj kev, uas siv cov Fetch API, uas muab HTTP tus neeg siv khoom ua haujlwm. Txoj kev txhawb nqa kev ua ntawm lub cev, headers, buffer_size thiab max_response_body_size xaiv. Cov khoom teb rov qab txhawb nqa arrayBuffer(), bodyUsed, json(), headers, ok, redirect, xwm txheej, statusText, text(), hom thiab url txoj kev, thiab cov khoom Header txhawb get(), getAll() thiab muaj() txoj kev. function fetch(r) { ngx.fetch('http://nginx.org/') .then(reply => reply.text()).then(body => r.return(200, body)).catch (e => r.return(501, e.message)); }

Koj tseem tuaj yeem sau tseg qhov kev tshaj tawm ntawm NGINX Unit 1.22 daim ntawv thov server, uas muaj kev daws teeb meem rau kev khiav lub vev xaib hauv ntau hom lus programming (Python, PHP, Perl, Ruby, Go, JavaScript / Node.js thiab Java). NGINX Unit tuaj yeem ua haujlwm ib txhij khiav ntau daim ntawv thov hauv cov lus programming sib txawv, qhov kev tso tawm tsis tuaj yeem hloov pauv yam tsis tas yuav hloov kho cov ntaub ntawv teeb tsa thiab rov pib dua. Cov cai sau rau hauv C thiab muab faib raws li Apache 2.0 daim ntawv tso cai.

Qhov kev tso tawm tshiab ntawm NGINX Unit tsom rau kev txhim kho kev ruaj ntseg, nthuav dav cov cuab yeej ntsuas, thiab kho cov kab. Hauv cov pob khoom tsim rau Linux, cov neeg siv thiab pab pawg hauv qab uas NGINX Unit khiav tau hloov pauv. Hloov chaw tsis muaj leej twg: tsis muaj leej twg, cov txheej txheem tam sim no khiav hauv qab tus neeg siv chav nyob hauv pab pawg. Ua kom muaj kev sib raug zoo nrog kwj API ntawm ServerRequest thiab ServerResponse khoom los ntawm Node.js module. Qhov "txoj kev" kev xaiv rau Python daim ntawv thov tso cai rau ntau lub npe teev tseg.

Tau qhov twg los: opennet.ru

Ntxiv ib saib