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 рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реМрдЯрд╛рдИ рдЬрд╛ рд╕рдХрддреА рдереА;
  • рдПрдирдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдФрд░ рдПрдЖрдИрдУ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╕рдмрдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕реЙрдХреЗрдЯ рд▓реАрдХ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рд╕рд╛рде рд╣реА рдЗрд╕реЗ рдиреЛрдЯ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдореБрджреНрджрд╛ рдПрдирдЬреЗрдПрд╕ 0.3.9nginx рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрднрд╛рд╖рд┐рдпрд╛ред рдПрдирдЬреЗрдПрд╕ рджреБрднрд╛рд╖рд┐рдпрд╛ рдИрд╕реАрдПрдордПрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд╛рдирдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nginx рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ, рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ, рдЕрдиреБрд░реЛрдз/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ, рдпрд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдЯрдмреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рддрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ, njs рдореЙрдбреНрдпреВрд▓ рдиреЗ r.subrequest() рдореЗрдВ рдЕрд▓рдЧ рдЕрдиреБрд░реЛрдз рдореЛрдб рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдЙрддреНрддрд░реЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдпрдорд┐рдд рд╕рдмрдХреНрд╡реЗрд░реА рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрд▓рдЧ рд╕рдмрдХреНрд╡реЗрд░реА рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рднреА:

  • "рдПрдлрдПрд╕" рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рд╡рд╛рджреЗ рдЬреЛрдбрд╝реЗ рдЧрдП;
  • рдлрд╝рдВрдХреНрд╢рдВрд╕ рдПрдХреНрд╕реЗрд╕ (), рд╕рд┐рдореНрд▓рд┐рдВрдХ (), рдЕрдирд▓рд┐рдВрдХ (), рдХреЛ "рдПрдлрдПрд╕" рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
    рд░рд┐рдпрд▓рдкрд╛рде() рдФрд░ рд╕рдорд╛рди;

  • рдореЗрдореЛрд░реА рдЦрдкрдд рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрд╢рд▓, рд╕рд╛рдзрд╛рд░рдг рд╕рд░рдгрд┐рдпрд╛рдБ рдкреЗрд╢ рдХреА рдЧрдИ рд╣реИрдВ;
  • рд▓реЗрдХреНрд╕рд░ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ;
  • рдмреИрдХрдЯреНрд░реИрд╕ рдореЗрдВ рдореВрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдореИрдкрд┐рдВрдЧ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
    рдирд┐рд╢рд╛рди;

  • "рдПрдлрдПрд╕" рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдлрд┐рдХреНрд╕реНрдб рдХреЙрд▓рдмреИрдХ рдХреЙрд▓;
  • object.getOwnPropertySymbols() рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ;
  • njs_json_append_string() рдореЗрдВ рд╣реАрдк рдмрдлрд╝рд░ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛;
  • рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдирдХреЛрдбрдпреВрдЖрд░рдЖрдИ() рдФрд░ рдбрд┐рдХреЛрдбрдпреВрдЖрд░рдЖрдИ() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛;
  • Number.prototype.toPrecision() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛;
  • JSON.stringify() рдореЗрдВ рд╕реНрдкреЗрд╕ рддрд░реНрдХ рдХреА рдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВрдбрд▓рд┐рдВрдЧ;
  • Number() рдФрд░ String() рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде JSON.stringify() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛;
  • JSON.stringify() рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рд╕реЗ рдмрдЪрдирд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛
    рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рд╕рд╛рде;

  • рдЧреИрд░-рджреЗрд╢реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЖрдпрд╛рдд рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
  • рдХрдВрдЯреЗрдирд░ рдореЗрдВ рджрд┐рдирд╛рдВрдХ() рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде njs.dump() рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ