nginx 1.17.9, njs 0.3.9 เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดฑเดฟเดฒเต€เดธเต

เดฐเต‚เดชเต€เด•เดฐเดฟเดšเตเดšเต เด…เดชเตเดธเตเดŸเตเดฐเต€เด‚ เดฑเดฟเดฒเต€เดธเต nginx 1.17.9, เด…เดคเดฟเดจเตเดณเตเดณเดฟเตฝ เดชเตเดคเดฟเดฏ เด•เดดเดฟเดตเตเด•เดณเตเดŸเต† เดตเดฟเด•เดธเดจเด‚ เดคเตเดŸเดฐเตเดจเตเดจเต (เดธเดฎเดพเดจเตเดคเดฐเดฎเดพเดฏเดฟ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เดธเตเดฅเดฟเดฐเดค เดถเดพเด– 1.16 เด—เตเดฐเตเดคเดฐเดฎเดพเดฏ เดชเดฟเดถเด•เตเด•เดณเตเด‚ เด•เต‡เดŸเตเดชเดพเดŸเตเด•เดณเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดตเดฐเตเดคเตเดคเตเดจเตเดจเดคเต).

เดชเตเดฐเดงเดพเดจ เดฎเดพเดฑเตเดฑเด‚:

  • เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ "เดนเต‹เดธเตเดฑเตเดฑเต" เดฒเตˆเดจเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเดฐเต‹เดงเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
    เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต;

  • nginx เด…เดงเดฟเด• เดฒเตˆเดจเตเด•เตพ เด…เดตเด—เดฃเดฟเดšเตเดš เด’เดฐเต เดฌเด—เต เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต
    เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเตฝ "เดŸเตเดฐเดพเตปเดธเตเดซเตผ-เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต";

  • HTTP/2 เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเต‹เด•เตเด•เดฑเตเดฑเต เดšเต‹เตผเดšเตเดš เดคเดŸเดฏเตเดจเตเดจเดคเดฟเดจเต เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต;
  • OCSP เดธเตเดฑเตเดฑเดพเดชเตเดฒเดฟเด‚เด—เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจ เดคเตŠเดดเดฟเดฒเดพเดณเดฟ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เด’เดฐเต เดธเต†เด—เตเดฎเต†เดจเตเดฑเต‡เดทเตป เดคเด•เดฐเดพเตผ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต;
  • ngx_http_mp4_module เดฎเตŠเดกเตเดฏเต‚เดณเดฟเตฝ เดคเดฟเดฐเตเดคเตเดคเดฒเตเด•เตพ เดตเดฐเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต;
  • 'error_page' เดกเดฏเดฑเด•เตโ€ŒเดŸเต€เดตเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‹เดกเต 494 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดฟเดถเด•เตเด•เตพ เดฑเต€เดกเดฏเดฑเด•เตโ€ŒเดŸเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, 494-เดจเต เดชเด•เดฐเด‚ 400 เด•เต‹เดกเต เด‰เดณเตเดณ เด’เดฐเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดจเตฝเด•เดพเดตเตเดจเตเดจ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ เด’เดฐเต เดชเตเดฐเดถเตโ€Œเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต;
  • njs เดฎเตŠเดกเตเดฏเต‚เดณเดฟเดฒเตเด‚ aio เดกเดฏเดฑเด•เตโ€ŒเดŸเต€เดตเดฟเดฒเตเด‚ เดธเดฌเตโ€Œเด•เตเดตเดฑเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดซเดฟเด•เตเดธเดกเต เดธเต‹เด•เตเด•เดฑเตเดฑเต เดฒเต€เด•เตเด•เตเด•เตพ.

เด•เต‚เดŸเดพเดคเต†, เด‡เดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต เดฑเดฟเดฒเต€เดธเต njs 0.3.9, nginx เดตเต†เดฌเต เดธเต†เตผเดตเดฑเดฟเดจเดพเดฏเตเดณเตเดณ เด’เดฐเต JavaScript เดตเตเดฏเดพเด–เตเดฏเดพเดคเดพเดตเต. njs เดตเตเดฏเดพเด–เตเดฏเดพเดคเดพเดตเต ECMAScript เดฎเดพเดจเดฆเดฃเตเดกเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเดฒเต† เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ nginx-เดจเตเดฑเต† เด•เดดเดฟเดตเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เด’เดฐเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ/เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดชเดฐเดฟเดทเตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเต†เดฌเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเดฒเต† เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดธเตเดฑเตเดฑเดฌเตเด•เตพ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดฒเต‹เดœเดฟเด•เต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเตฝ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดฟเตฝ, r.subrequest()-เตฝ เดตเต‡เตผเดชเต†เดŸเตเดคเตเดคเดฟเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฎเต‹เดกเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ njs เดฎเตŠเดกเตเดฏเต‚เตพ เดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดตเต‡เตผเดชเต†เดŸเตเดคเตเดคเดฟเดฏ เดธเดฌเตเด•เตเดตเดฑเดฟเด•เตพเด•เตเด•เตเดณเตเดณ เดฎเดฑเตเดชเดŸเดฟเด•เตพ เด…เดตเด—เดฃเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚. เดธเดพเดงเดพเดฐเดฃ เดธเดฌเตโ€Œเด•เตเดตเดฑเดฟเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดนเดพเตปเดกเตโ€Œเดฒเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดตเต‡เตผเดชเต†เดŸเตเดคเตเดคเดฟเดฏ เดธเดฌเตโ€Œเด•เตเดตเดฑเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด•เต‚เดŸเดพเดคเต†:

  • "fs" เดฎเตŠเดกเตเดฏเต‚เดณเดฟเดจเดพเดฏเดฟ API เดตเดพเด—เตเดฆเดพเดจเด™เตเด™เตพ เดšเต‡เตผเดคเตเดคเต;
  • เด†เด•เตโ€Œเดธเดธเต(), เดธเดฟเด‚เดฒเดฟเด™เตเด•เต(), เด…เตบเดฒเดฟเด™เตเด•เต(), เดŽเดจเตเดจเต€ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ โ€œfsโ€ เดฎเตŠเดกเตเดฏเต‚เดณเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเดคเตเดคเต.
    เดฑเดฟเดฏเตฝเดชเดพเดคเตเดคเต() เด•เต‚เดŸเดพเดคเต† เดธเดฎเดพเดจเดฎเดพเดฏเดคเต;

  • เดฎเต†เดฎเตเดฎเดฑเดฟ เด‰เดชเดญเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดพเดฏ เดธเดพเดงเดพเดฐเดฃ เดถเตเดฐเต‡เดฃเดฟเด•เตพ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเต;
  • เดฒเต†เด•เตโ€Œเดธเดฑเดฟเตฝ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ เดตเดฐเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต;
  • เดฌเดพเด•เตเด•เตเดŸเตเดฐเต†เดฏเดฟเดธเตเด•เดณเดฟเดฒเต† เดจเต‡เดฑเตเดฑเต€เดตเต เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเตเดŸเต† เดฎเดพเดชเตเดชเดฟเด‚เด—เดฟเตฝ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เดตเดฐเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.
    เด…เดŸเดฏเดพเดณเด™เตเด™เตพ;

  • "fs" เดฎเตŠเดกเตเดฏเต‚เดณเดฟเดฒเต† เดธเตเดฅเดฟเดฐ เด•เต‹เตพเดฌเดพเด•เตเด•เต เด•เต‹เดณเตเด•เตพ;
  • Object.getOwnPropertySymbols() เดŽเดจเตเดจเดคเดฟเตฝ เดคเดฟเดฐเตเดคเตเดคเดฒเตเด•เตพ เดตเดฐเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต;
  • njs_json_append_string()-เตฝ เดซเดฟเด•เตเดธเดกเต เดนเต€เดชเตเดชเต เดฌเดซเตผ เด“เดตเตผเดซเตเดฒเต‹;
  • เดธเตโ€Œเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดŽเตปเด•เต‹เดกเตเดฏเตเด†เตผเด(), เดกเต€เด•เต‹เดกเตเดฏเตเด†เตผเด() เดŽเดจเตเดจเดฟเดต เด‰เดฑเดชเตเดชเดฟเดšเตเดšเต;
  • Number.prototype.toPrecision();
  • JSON.stringify();
  • Number() เด‰เด‚ String() เด’เดฌเตเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต JSON.stringify() เดŽเดจเตเดจเดคเดฟเตฝ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟ;
  • JSON.stringify() เดŽเดจเตเดจเดคเดจเตเดธเดฐเดฟเดšเตเดšเต เดฏเต‚เดฃเดฟเด•เต‹เดกเต เดชเตเดฐเดคเต€เด•เด™เตเด™เดณเตเดŸเต† เดŽเดธเตเด•เต‡เดชเตเดชเดฟเด‚เด—เต เดจเตฝเด•เดฟ
    เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เดธเดนเดฟเดคเด‚;

  • เดจเต‹เตบ-เดจเต‡เดฑเตเดฑเต€เดตเต เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเตเดŸเต† เด‡เดฑเด•เตเด•เตเดฎเดคเดฟเด•เตเด•เต เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต;
  • เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดฒเต† เด’เดฐเต เดคเต€เดฏเดคเดฟ() เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต njs.dump() เดŽเดจเตเดจเดคเดฟเตฝ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟ.

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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•