nginx 1.19.7 เดจเตเดฑเต เดชเตเดฐเดงเดพเดจ เดฌเตเดฐเดพเดเตเดเต เดชเตเดฑเดคเตเดคเดฟเดฑเดเตเดเดฟ, เด เดคเดฟเดจเตเดณเตเดณเดฟเตฝ เดชเตเดคเดฟเดฏ เดธเดตเดฟเดถเตเดทเดคเดเดณเตเดเต เดตเดฟเดเดธเดจเด เดคเตเดเดฐเตเดจเตเดจเต (เดธเดฎเดพเดจเตเดคเดฐ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดณเตเดณ เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดฌเตเดฐเดพเดเตเดเต 1.18 เตฝ, เดเตเดฐเตเดคเดฐเดฎเดพเดฏ เดชเดฟเดถเดเตเดเดณเตเด เดเตเดเตเดชเดพเดเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดฎเดพเดฑเตเดฑเดเตเดเตพ เดฎเดพเดคเตเดฐเดฎเต เดตเดฐเตเดคเตเดคเต).
เดชเตเดฐเดงเดพเดจ เดฎเดพเดฑเตเดฑเดเตเดเตพ:
- เดเดฐเต เดตเตผเดเตเดเตผ เดชเตเดฐเตเดธเดธเตเดธเต เดธเตเดเดจเตเดฏ เดเดฃเดเตเดทเดจเตเดเตพ เดคเตเดฐเตเดฎเตเดชเตเตพ, nginx เดเดชเตเดชเตเตพ เดเตเดชเดฒเตเดตเต เดเดฃเดเตเดทเดจเตเดเตพ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดธเตเดเตเดเดฑเตเดฑเต เด เดเดฏเตเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฃเดเตเดทเดจเตเดเดณเตเด เด เดเดฏเตเดเตเดเตเดจเตเดจเต ("เดฒเดฟเดเตเดเดฑเดฟเดเดเต เดเตเดฒเตเดธเต").
- HTTP/2-เดฒเต เดเดฃเดเตเดทเตป เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เดเตเดกเต HTTP/1.x เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฒเดฟเดจเต เด เดเตเดคเตเดคเดพเดฃเต. "http2_recv_timeout", "http2_idle_timeout", "http2_max_requests" เดเดจเตเดจเต เดตเตเดฏเดเตเดคเดฟเดเดค เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเตพเดเตเดเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ "keepalive_timeout", "keepalive_requests" เดเดจเตเดจเต เดชเตเดคเตเดตเดพเดฏ เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพเดเตเดเต เด เดจเตเดเตเดฒเดฎเดพเดฏเดฟ เดจเดฟเตผเดคเตเดคเดฒเดพเดเตเดเดฟ.
- "http2_max_field_size", "http2_max_header_size" เดเดจเตเดจเต เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเตพ เดจเตเดเตเดเดเดเตเดฏเตโเดคเต, เดชเดเดฐเด "large_client_header_buffers" เดเดชเดฏเตเดเดฟเดเตเดเตเดฃเตเดเดคเดพเดฃเต.
เด เดคเต เดธเดฎเดฏเด, njs 0.5.1 เดชเตเดฑเดคเตเดคเดฟเดฑเดเตเดเดฟ, nginx เดตเตเดฌเต เดธเตเตผเดตเดฑเดฟเดจเตเดณเตเดณ เดเดฐเต JavaScript เดตเตเดฏเดพเดเตเดฏเดพเดคเดพเดตเต. njs เดตเตเดฏเดพเดเตเดฏเดพเดคเดพเดตเต ECMAScript เดฎเดพเดจเดฆเดฃเตเดกเดเตเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดเดฏเตเด เดเตเตบเดซเดฟเดเดฑเตเดทเดจเดฟเดฒเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ nginx-เดจเตเดฑเต เดเดดเดฟเดตเต เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เดเดฒเดจเดพเดคเตเดฎเดเดฎเดพเดฏเดฟ เดเดฐเต เดชเตเดฐเดคเดฟเดเดฐเดฃเด เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เดเดฐเต เด เดญเตเดฏเตผเดคเตเดฅเดจ/เดชเตเดฐเดคเดฟเดเดฐเดฃเด เดชเดฐเดฟเดทเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดตเตเดฌเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเดณเดฟเดฒเต เดชเตเดฐเดถเตเดจเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดตเตเดเดคเตเดคเดฟเตฝ เดธเตเดฑเตเดฑเดฌเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเด เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดฒเตเดเดฟเดเต เดจเดฟเตผเดตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดฐเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดซเดฏเดฒเดฟเตฝ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเด.
เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต "js_header_filter" เดจเดฟเตผเดฆเตเดฆเตเดถเด เดเตเตผเดเตเดเตเดจเตเดจเต, เดเดคเต เด เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดชเตเดฐเดคเดฟเดเดฐเดฃ เดคเดฒเดเตเดเตเดเตเดเตเดเตพ เดซเดฟเตฝเดเตเดเตผ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเตเดฎเดพเดฏเดฟ เดเดฐเต JavaScript เดซเดเดเตเดทเตป เดธเดเตเดเดฎเดพเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต: js_import foo.js; เดธเตเดฅเดพเดจเด / {js_header_filter foo.filter; proxy_pass http://127.0.0.1:8081/; } foo.js: เดซเดเดเตโเดทเตป เดซเดฟเตฝเดเตเดเตผ(r) {var เดเตเดเตเดเดฟเดเตพ = r.headersOut['Set-Cookie']; var เดฒเตเตป = r.args.len? เดจเดฎเตเดชเตผ(r.args.len) : 0; r.headersOut['Set-Cookie'] = cookies.filter(v=>v.length > len); } เดเดเตโเดธเตโเดชเตเตผเดเตเดเต เดกเดฟเดซเตเตพเดเตเดเต {filter};
HTTP เดเตเดฒเดฏเดจเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดค เดจเตฝเดเตเดจเตเดจ Fetch API เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจ ngx.fetch() เดฐเตเดคเดฟเดฏเตเด เดเตเตผเดคเตเดคเดฟเดเตเดเตเดฃเตเดเต. เดฌเตเดกเดฟ, เดนเตเดกเดฑเตเดเตพ, เดฌเดซเตผ_เดธเตเดธเต, เดฎเดพเดเตโเดธเต_เดฑเตเดธเตโเดชเตเตบเดธเต_เดฌเตเดกเดฟ_เดธเตเดธเต เดเดชเตโเดทเดจเตเดเตพ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด เดฐเตเดคเดฟ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต. เดคเดฟเดฐเดฟเดเต เดจเตฝเดเดฟเดฏ เดชเตเดฐเดคเดฟเดเดฐเดฃ เดเดฌเตโเดเดเตเดฑเตเดฑเต, arrayBuffer(), bodyUsed, json(), เดคเดฒเดเตเดเตเดเตเดเตเดเตพ, เดถเดฐเดฟ, เดฑเตเดกเดฏเดฑเดเตโเดเต, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเตโเดเตเดเตโเดธเตเดฑเตเดฑเต, เดเตเดเตโเดธเตโเดฑเตเดฑเต(), เดเตเดชเตเดชเต, เดฏเตเดเตผเดเตฝ เดฐเตเดคเดฟเดเตพ เดเดจเตเดจเดฟเดตเดฏเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโเดเตเดเตเดจเตเดจเต, เดเตเดเดพเดคเต เดนเตเดกเตผ เดเดฌเตโเดเดเตเดฑเตเดฑเต get(), getAll(), has() เดเดจเตเดจเดฟเดตเดฏเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโเดเตเดเตเดจเตเดจเต. เดฐเตเดคเดฟเดเตพ. เดซเดเดเตเดทเตป fetch(r) { ngx.fetch('http://nginx.org/') .เดชเดฟเดจเตเดจเต(เดฎเดฑเตเดชเดเดฟ => reply.text()) .then(body => r.return(200, body)) .catch (e => r.return(501, e.message)); }
เดตเดฟเดตเดฟเดง เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดญเดพเดทเดเดณเดฟเตฝ (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, Java) เดตเตเดฌเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดชเดฐเดฟเดนเดพเดฐเด เดตเดพเดเตเดฆเดพเดจเด เดเตเดฏเตเดฏเตเดจเตเดจ NGINX เดฏเตเดฃเดฟเดฑเตเดฑเต 1.22 เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเตผเดตเดฑเดฟเดจเตเดฑเต เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฃเดตเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเดพเดตเตเดจเตเดจเดคเดพเดฃเต. NGINX เดฏเตเดฃเดฟเดฑเตเดฑเดฟเดจเต เดตเตเดฏเดคเตเดฏเดธเตโเดค เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดญเดพเดทเดเดณเดฟเตฝ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเดฐเตเดธเดฎเดฏเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด, เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดซเดฏเดฒเตเดเตพ เดเดกเดฟเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเดคเตเดฏเตเด เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเดพเดคเตเดฏเตเด เด เดตเดฏเตเดเต เดฒเตเดเตเดเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดเดฒเดจเดพเดคเตเดฎเดเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดพเตป เดเดดเดฟเดฏเตเด. เดเตเดกเต เดธเดฟเดฏเดฟเตฝ เดเดดเตเดคเตเดเดฏเตเด เด เดชเตเดชเดพเดเตเดเต 2.0 เดฒเตเดธเตปเดธเดฟเดจเต เดเตเดดเดฟเตฝ เดตเดฟเดคเดฐเดฃเด เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
NGINX เดฏเตเดฃเดฟเดฑเตเดฑเดฟเดจเตเดฑเต เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดธเตเดฅเดฟเดฐเดค เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดฒเตเด เดชเดฐเตเดเตเดทเดฃ เดเดชเดเดฐเดฃเดเตเดเตพ เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเด เดฌเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเด เดถเตเดฐเดฆเตเดง เดเตเดจเตเดฆเตเดฐเตเดเดฐเดฟเดเตเดเต. Linux-เดจเดพเดฏเดฟ เดเดจเดฑเตเดฑเตเดฑเต เดเตเดฏเตโเดค เดชเดพเดเตเดเตเดเตเดเดณเดฟเตฝ, NGINX เดฏเตเดฃเดฟเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเดฏเตเด เดเตเดฐเตเดชเตเดชเดฟเดจเตเดฏเตเด เดฎเดพเดฑเตเดฑเดฟ. เดเดฐเตเด:เดเดฐเตเด เดเดจเตเดจเดคเดฟเดจเตเดชเดเดฐเด, เดเตเดฐเตเดชเตเดชเต เดฏเตเดฃเดฟเดฑเตเดฑเดฟเดฒเต เดตเตเดฏเดเตเดคเดฟเดเดค เดเดชเดฏเตเดเตเดคเต เดฏเตเดฃเดฟเดฑเตเดฑเดฟเดจเต เดเตเดดเดฟเตฝ เดเดชเตเดชเตเตพ เดชเตเดฐเตเดธเดธเตเดธเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต. Node.js เดฎเตเดกเตเดฏเตเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเตเตผเดตเตผ เดฑเดฟเดเตเดตเดธเตเดฑเตเดฑเดฟเดจเตเดฑเตเดฏเตเด เดธเตเตผเดตเตผ เดฑเตเดธเตโเดชเตเตบเดธเต เดเดฌเตโเดเดเตเดฑเตเดฑเตเดเดณเตเดเตเดฏเตเด เดธเตโเดเตเดฐเตเด เดเดชเดฟเดเดฏเตเดฎเดพเดฏเดฟ เด
เดจเตเดฏเตเดเตเดฏเดค เดเดฑเดชเตเดชเดพเดเตเดเตเดจเตเดจเต. เดชเตเดคเตเดคเตบ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพเดเตเดเตเดณเตเดณ "เดชเดพเดคเตเดคเต" เดเดชเตเดทเตป เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดกเดฏเดฑเดเตเดเดฑเดฟเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดพเตป เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เด
เดตเดฒเดเดฌเด: opennet.ru