nginx 1.17.9 แƒ“แƒ njs 0.3.9 แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ

แƒฉแƒแƒ›แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ“แƒ แƒ–แƒ”แƒ›แƒแƒ— แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ nginx 1.17.9, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜แƒช แƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒแƒฎแƒแƒšแƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ (แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒ˜ 1.16 แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒแƒฆแƒ›แƒแƒคแƒฎแƒ•แƒ แƒแƒกแƒ—แƒแƒœ).

แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

  • แƒแƒ™แƒ แƒซแƒแƒšแƒฃแƒšแƒ˜แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” โ€žแƒฐแƒแƒกแƒขแƒ˜แƒกโ€œ แƒฎแƒแƒ–แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ
    แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜;

  • แƒ’แƒแƒแƒกแƒฌแƒแƒ แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ, แƒกแƒแƒ“แƒแƒช nginx-แƒ›แƒ แƒฃแƒ’แƒฃแƒšแƒ”แƒ‘แƒ”แƒšแƒงแƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒฎแƒแƒ–แƒ”แƒ‘แƒ˜
    แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒจแƒ˜ โ€žแƒขแƒ แƒแƒœแƒกแƒคแƒ”แƒ -แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒโ€œ;

  • แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ แƒจแƒ”แƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ”แƒ‘แƒ˜ HTTP/2 แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒกแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ’แƒแƒŸแƒแƒœแƒ•แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“;
  • แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ“แƒ แƒกแƒ”แƒ’แƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒฎแƒแƒ แƒ•แƒ”แƒ–แƒ˜ แƒ›แƒฃแƒจแƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฌแƒแƒ แƒ›แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ OCSP แƒกแƒขแƒ”แƒžแƒšแƒ˜แƒœแƒ’แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก;
  • แƒจแƒ”แƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ ngx_http_mp4_module แƒ›แƒแƒ“แƒฃแƒšแƒจแƒ˜;
  • แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒกแƒแƒก 494 แƒ™แƒแƒ“แƒ˜แƒ— 'error_page' แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒžแƒแƒกแƒฃแƒฎแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒก แƒ™แƒแƒ“แƒ˜แƒ— 494 400-แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“;
  • แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ“แƒ แƒกแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒ’แƒแƒŸแƒแƒœแƒ•แƒ njs แƒ›แƒแƒ“แƒฃแƒšแƒจแƒ˜ แƒ“แƒ aio แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒแƒจแƒ˜ แƒฅแƒ•แƒ”แƒ›แƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก.

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒฆแƒ˜แƒœแƒ˜แƒจแƒœแƒแƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜ njs 0.3.9, JavaScript แƒ—แƒแƒ แƒฏแƒ˜แƒ›แƒแƒœแƒ˜ nginx แƒ•แƒ”แƒ‘ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. njs แƒ—แƒแƒ แƒฏแƒ˜แƒ›แƒแƒœแƒ˜ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก ECMAScript แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒ”แƒ‘แƒก แƒ“แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒแƒคแƒแƒ แƒ—แƒแƒ•แƒแƒ— nginx-แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ, แƒ“แƒแƒแƒ›แƒฃแƒจแƒแƒ•แƒแƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜, แƒ แƒแƒ—แƒ แƒ’แƒแƒœแƒ˜แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒก แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก/แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒก แƒจแƒ”แƒกแƒแƒชแƒ•แƒšแƒ”แƒšแƒแƒ“, แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒœแƒแƒ™แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ•แƒ”แƒ‘ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“.

แƒแƒฎแƒแƒš แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒแƒจแƒ˜ njs แƒ›แƒแƒ“แƒฃแƒšแƒ›แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก r.subrequest(). แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒฃแƒš แƒฅแƒ•แƒ”แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ˜ แƒ˜แƒ’แƒœแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ. แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒฅแƒ•แƒ”แƒ›แƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒฅแƒ•แƒ”แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜แƒก แƒ“แƒแƒ›แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒšแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—. แƒแƒกแƒ”แƒ•แƒ”:

  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ API Promises "fs" แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก;
  • แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ access(), symlink(), unlink(), แƒ“แƒแƒ”แƒ›แƒแƒขแƒ โ€œfsโ€ แƒ›แƒแƒ“แƒฃแƒšแƒก.
    realpath() แƒ“แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜;

  • แƒ“แƒแƒ˜แƒœแƒ”แƒ แƒ’แƒ แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜, แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—;
  • แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ lexer-แƒจแƒ˜;
  • แƒจแƒ”แƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒฃแƒ™แƒœแƒ˜แƒ“แƒแƒœ.
    แƒ™แƒ•แƒแƒšแƒ˜;

  • แƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฃแƒ™แƒฃ แƒ–แƒแƒ แƒ”แƒ‘แƒ˜ "fs" แƒ›แƒแƒ“แƒฃแƒšแƒจแƒ˜;
  • แƒจแƒ”แƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ Object.getOwnPropertySymbols();
  • แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ“แƒ แƒ’แƒ แƒแƒ•แƒ˜แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒ njs_json_append_string();
  • แƒ“แƒแƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ encodeURI() แƒ“แƒ decodeURI() แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“;
  • แƒจแƒ”แƒแƒกแƒฌแƒแƒ แƒ Number.prototype.toPrecision();
  • แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ“แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ JSON.stringify();
  • แƒ’แƒแƒแƒกแƒฌแƒแƒ แƒ JSON.stringify() Number() แƒ“แƒ String() แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒ—;
  • แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ Unicode แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒฅแƒชแƒ”แƒ•แƒ JSON.stringify()-แƒจแƒ˜ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“
    แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—;

  • แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ“แƒ แƒแƒ แƒ แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ›แƒžแƒแƒ แƒขแƒ˜;
  • แƒจแƒ”แƒแƒกแƒฌแƒแƒ แƒ”แƒ— njs.dump() Date() แƒ”แƒ’แƒ–แƒ”แƒ›แƒžแƒšแƒแƒ แƒ˜แƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ