nginx 1.19.7 เชจเซ เชฎเซเชเซเชฏ เชถเชพเชเชพ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซเชฎเชพเช เชจเชตเซ เชธเซเชตเชฟเชงเชพเชเชจเซ เชตเชฟเชเชพเชธ เชเชพเชฒเซ เชฐเชนเซ เชเซ (เชธเชฎเชพเชเชคเชฐ เชธเชชเซเชฐเซเชเซเชก เชธเซเชฅเชฟเชฐ เชถเชพเชเชพ 1.18 เชฎเชพเช, เชฎเชพเชคเซเชฐ เชเชเชญเซเชฐ เชญเซเชฒเซ เช เชจเซ เชจเชฌเชณเชพเชเชเชจเซ เชฆเซเชฐ เชเชฐเชตเชพ เชธเชเชฌเชเชงเชฟเชค เชซเซเชฐเชซเชพเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ).
เชฎเซเชเซเชฏ เชซเซเชฐเชซเชพเชฐเซ:
- เชเซเชฏเชพเชฐเซ เชเซเช เชตเชฐเซเชเชฐ เชชเซเชฐเซเชธเซเชธเชฎเชพเช เชซเซเชฐเซ เชเชจเซเชเซเชถเชจเซเชธ เชเชคเชฎ เชฅเช เชเชพเชฏ เชเซ, เชคเซเชฏเชพเชฐเซ nginx เชนเชตเซ เชซเชเซเชค เชเซเชชเชฒเชพเชเชต เชเชจเซเชเซเชถเชจเซเชธ เช เชจเชนเซเช, เชชเชฃ เชฒเชฟเชเชเชฐเซเชเช เชเซเชฒเซเช เชธเซเชเซเชเชฎเชพเช เชฐเชนเซเชฒเชพ เชเชจเซเชเซเชถเชจเซเชธเชจเซ เชชเชฃ เชฌเชเชง เชเชฐเซ เชเซ.
- HTTP/2 เชเชจเซเชเซเชถเชจ เชนเซเชจเซเชกเชฒเชฟเชเช เชเซเชกเชจเซ HTTP/1.x เช เชฎเชฒเซเชเชฐเชฃเชจเซ เชจเชเซเช เชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ. "keepalive_timeout" เช เชจเซ "keepalive_requests" เชเซเชตเชพ เชธเชพเชฎเชพเชจเซเชฏ เชจเชฟเชฐเซเชฆเซเชถเซเชจเชพ เชฌเชฆเชฒเซ เชตเซเชฏเชเซเชคเชฟเชเชค เชธเซเชเชฟเชเชเซเชธ "http2_recv_timeout," "http2_idle_timeout," เช เชจเซ "http2_max_requests" เชฎเชพเชเซ เชธเชชเซเชฐเซเช เชฌเชเชง เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ.
- "http2_max_field_size" เช เชจเซ "http2_max_header_size" เชธเซเชเชฟเชเชเซเชธ เชฆเซเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เชคเซเชจเชพ เชฌเชฆเชฒเซ "large_client_header_buffers" เชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชเซเชเช.
เชคเซ เช เชธเชฎเชฏเซ, njs 0.5.1, เชฎเชพเชเซ เชเชพเชตเชพเชธเซเชเซเชฐเชฟเชชเซเช เชเชจเซเชเชฐเชชเซเชฐเซเชเชฐ เชตเซเชฌ เชธเชฐเซเชตเชฐ nginx. njs เชเชจเซเชเชฐเชชเซเชฐเซเชเชฐ ECMAScript เชงเซเชฐเชฃเซเชจเซ เชฒเชพเชเซ เชเชฐเซ เชเซ เช เชจเซ เชคเชฎเชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชธเซเชเซเชฐเชฟเชชเซเชเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ nginx เชจเซ เชตเชฟเชจเชเชคเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเซเชทเชฎเชคเชพเชเชจเซ เชตเชฟเชธเซเชคเซเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชฎเชพเช เชธเซเชเซเชฐเชฟเชชเซเชเซเชจเซ เชเชชเชฏเซเช เชเชกเชตเชพเชจเซเชธเซเชก เชตเชฟเชจเชเชคเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชคเชฐเซเชเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเชตเชพ, เชฐเซเชชเชฐเซเชเชพเชเชเชจเซ เชเชจเชฐเซเช เชเชฐเชตเชพ, เชเชคเชฟเชถเซเชฒ เชฐเซเชคเซ เชชเซเชฐเชคเชฟเชญเชพเชตเซ เชเชจเชฐเซเช เชเชฐเชตเชพ, เชตเชฟเชจเชเชคเซเช/เชชเซเชฐเชคเชฟเชธเชพเชฆเซเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเชตเชพ เช เชฅเชตเชพ เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธเชฎเชพเช เชธเชฎเชธเซเชฏเชพเช เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชเชกเชชเชฅเซ เชธเซเชเชฌ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชฅเช เชถเชเซ เชเซ.
เชจเชตเชพ เชธเชเชธเซเชเชฐเชฃเชฎเชพเช "js_header_filter" เชกเชพเชฏเชฐเซเชเซเชเชฟเชต เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ, เชเซ เชคเชฎเชจเซ เชฎเชจเชธเซเชตเซ เชชเซเชฐเชคเชฟเชญเชพเชต เชนเซเชกเชฐเซเชจเซ เชซเชฟเชฒเซเชเชฐ เชเชฐเชตเชพ เช เชจเซ เชธเชเชถเซเชงเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ JavaScript เชซเชเชเซเชถเชจเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ: js_import foo.js; location / { 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};
ngx.fetch() เชชเชฆเซเชงเชคเชฟ เชชเชฃ เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ Fetch API เชจเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเซ เชเซ, เชเซ HTTP เชเซเชฒเชพเชฏเชเช เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ. เชชเชฆเซเชงเชคเชฟ เชฌเซเชกเซ, เชนเซเชกเชฐเซเชธ, เชฌเชซเชฐ_เชธเชพเชเช เช เชจเซ max_response_body_size เชตเชฟเชเชฒเซเชชเซเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ. เชฐเซเชเชฐเซเชจ เชฅเชฏเซเชฒ เชฐเชฟเชธเซเชชเซเชจเซเชธ เชเชฌเซเชเซเชเซเช arrayBuffer(), bodyUsed, json(), เชนเซเชกเชฐเซเชธ, ok, redirect, status, statusText, text(), type เช เชจเซ url เชชเชฆเซเชงเชคเชฟเชเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ, เช เชจเซ เชนเซเชกเชฐ เชเชฌเซเชเซเชเซเช get(), getAll(), เช เชจเซ has() เชชเชฆเซเชงเชคเชฟเชเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ. 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)); }
เชคเชฎเซ เชชเซเชฐเชเชพเชถเชจเชจเซ เชชเชฃ เชเชฟเชนเซเชจเชฟเชค เชเชฐเซ เชถเชเซ เชเซ เชธเชฐเซเชตเชฐ NGINX เชฏเซเชจเชฟเช 1.22, เชตเชฟเชตเชฟเชง เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเช (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, เช เชจเซ Java) เชฎเชพเช เชฒเชเซเชฒเชพ เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจเซ เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซเชจเซ เชเชเซเชฒ. NGINX เชฏเซเชจเชฟเช เชเชเชธเชพเชฅเซ เชตเชฟเชตเชฟเชง เชญเชพเชทเชพเชเชฎเชพเช เชฒเชเซเชฒเชพ เชฌเชนเซเชตเชฟเชง เชเชชเซเชฒเชฟเชเซเชถเชจเซ เชเชฒเชพเชตเซ เชถเชเซ เชเซ, เช เชจเซ เชคเซเชฎเชจเชพ เชฒเซเชจเซเช เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชเซเช เชตเชฃเซ เชซเชพเชเชฒเซเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เช เชฅเชตเชพ เชซเชฐเซเชฅเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เชเชคเชฟเชถเซเชฒ เชฐเซเชคเซ เชฌเชฆเชฒเซ เชถเชเชพเชฏ เชเซ. เชเซเชก C เชฎเชพเช เชฒเชเชพเชฏเซเชฒ เชเซ เช เชจเซ Apache 2.0 เชฒเชพเชเชธเชจเซเชธ เชนเซเช เชณ เชฒเชพเชเชธเชจเซเชธ เชชเซเชฐเชพเชชเซเชค เชเซ.
ะ ะฝะพะฒะพะผ ะฒัะฟััะบะต NGINX Unit ะพัะฝะพะฒะฝะพะต ะฒะฝะธะผะฐะฝะธะต ะฑัะปะพ ัะดะตะปะตะฝะพ ะฟะพะฒััะตะฝะธั ััะฐะฑะธะปัะฝะพััะธ, ัะฐััะธัะตะฝะธั ััะตะดััะฒ ะดะปั ัะตััะธัะพะฒะฐะฝะธั ะธ ะธัะฟัะฐะฒะปะตะฝะธั ะพัะธะฑะพะบ. ะ ัะพัะผะธััะตะผัั
ะดะปั Linux ะฟะฐะบะตัะฐั
ะธะทะผะตะฝะตะฝั ะฟะพะปัะทะพะฒะฐัะตะปั ะธ ะณััะฟะฟะฐ, ะฟะพะด ะบะพัะพััะผะธ ะทะฐะฟััะบะฐะตััั NGINX Unit. ะะผะตััะพ nobody:nobody ะฟัะพัะตััั ัะตะฟะตัั ะฒัะฟะพะปะฝััััั ะฟะพะด ะพัะดะตะปัะฝัะผ ะฟะพะปัะทะพะฒะฐัะตะปะตะผ unit ะฒ ะณััะฟะฟะต unit. ะะฑะตัะฟะตัะตะฝะฐ ัะพะฒะผะตััะธะผะพััั ั API Stream ะพะฑัะตะบัะพะฒ ServerRequest ะธ ServerResponse ะธะท ะผะพะดัะปั Node.js. ะ ะพะฟัะธะธ ยซpathยป ะดะปั Python-ะฟัะธะปะพะถะตะฝะธะน ัะฐะทัะตัะตะฝะพ ัะบะฐะทะฐะฝะธะต ะฝะตัะบะพะปัะบะธั
ะบะฐัะฐะปะพะณะพะฒ.
เชธเซเชฐเซเชธ: opennet.ru
