nginx 1.19.7, njs 0.5.1, NGINX เดฏเต‚เดฃเดฟเดฑเตเดฑเต 1.22.0 เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดฑเดฟเดฒเต€เดธเต

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. 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)); }

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเด‚ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚ เดธเต†เตผเดตเตผ เดตเดฟเดตเดฟเดง เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเด•เดณเดฟเตฝ (เดชเตˆเดคเตเดคเตบ, เดชเดฟโ€ŒเดŽเดšเตเดšเตเดชเดฟ, เดชเต‡เตพ, เดฑเต‚เดฌเดฟ, เด—เต‹, เดœเดพเดตเดพเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต/เดจเต‹เดกเต.เดœเต†โ€ŒเดŽเดธเต, เดœเดพเดต) เดŽเดดเตเดคเดฟเดฏ เดตเต†เดฌเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฃเต เดŽเตปโ€Œเดœเดฟโ€ŒเดŽเตปโ€ŒเดŽเด•เตเดธเต เดฏเต‚เดฃเดฟเดฑเตเดฑเต 1.22. เดตเตเดฏเดคเตเดฏเดธเตเดค เดญเดพเดทเด•เดณเดฟเตฝ เดŽเดดเตเดคเดฟเดฏ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เด’เดฐเต‡เดธเดฎเดฏเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดŽเตปโ€Œเดœเดฟโ€ŒเดŽเตปโ€ŒเดŽเด•เตเดธเต เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟเดจเต เด•เดดเดฟเดฏเตเด‚, เด•เต‚เดŸเดพเดคเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เตพ เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดคเต†เดฏเต‹ เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเดคเต†เดฏเต‹ เด…เดตเดฏเตเดŸเต† เดฒเต‹เดžเตเดšเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดพเตป เด•เดดเดฟเดฏเตเด‚. เด•เต‹เดกเต เดธเดฟเดฏเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดชเตเดชเดพเดšเตเดšเต† 2.0 เดฒเตˆเดธเตปเดธเดฟเดจเต เด•เต€เดดเดฟเดฒเดพเดฃเต เดฒเตˆเดธเตปเดธเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เดชเตเดคเดฟเดฏ NGINX เดฏเต‚เดฃเดฟเดฑเตเดฑเต เดฑเดฟเดฒเต€เดธเต เดธเตเดฅเดฟเดฐเดค เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ, เดชเดฐเดฟเดถเต‹เดงเดจเดพ เดถเต‡เดทเดฟเด•เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตฝ, เดฌเด—เตเด•เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตฝ เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเดšเตเดšเต. Linux เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเดฟเตฝ NGINX เดฏเต‚เดฃเดฟเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเตเด‚ เด—เตเดฐเต‚เดชเตเดชเตเด‚ เดฎเดพเดฑเตเดฑเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. nobody:nobody เดŽเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚, เด‡เดชเตเดชเต‹เตพ เดชเตเดฐเต‹เดธเดธเตเดธเตเด•เตพ เดฏเต‚เดฃเดฟเดฑเตเดฑเต เด—เตเดฐเต‚เดชเตเดชเดฟเตฝ เดฏเต‚เดฃเดฟเดฑเตเดฑเต เดŽเดจเตเดจเต เดชเต‡เดฐเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เด•เต€เดดเดฟเดฒเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต. Node.js เดฎเตŠเดกเตเดฏเต‚เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ ServerRequest, ServerResponse เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เดธเตเดŸเตเดฐเต€เด‚ API-เดฏเตเดฎเดพเดฏเตเดณเตเดณ เด…เดจเตเดฏเต‹เดœเตเดฏเดค เด‰เดฑเดชเตเดชเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดชเตˆเดคเตเดคเตบ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ "เดชเดพเดคเตเดคเต" เด“เดชเตเดทเดจเดฟเตฝ เด‡เดชเตเดชเต‹เตพ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster