nginx 1.19.2 рдЖрдгрд┐ njs 0.4.3 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди

рддрдпрд╛рд░ рдЭрд╛рд▓реЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкреНрд░рдХрд╛рд╢рди nginx 1.19.2, рдЬреНрдпрд╛рдордзреНрдпреЗ рдирд╡реАрди рдХреНрд╖рдорддрд╛рдВрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рдЪрд╛рд▓реВ рд░рд╛рд╣рддреЛ (рд╕рдорд╛рдВрддрд░ рд╕рдорд░реНрдерд┐рдд рд╕реНрдерд┐рд░ рд╢рд╛рдЦрд╛ 1.18 рдХреЗрд╡рд│ рдЧрдВрднреАрд░ рддреНрд░реБрдЯреА рдЖрдгрд┐ рднреЗрджреНрдпрддрд╛ рджреВрд░ рдХрд░рдгреНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдмрджрд▓ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд).

рдореБрдЦреНрдп рдмрджрд▓ рдХрд░рд╛:

  • рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз рдХрдиреЗрдХреНтАНрд╢рди рд╕рдВрдкрдгреНтАНрдпрд╛рдкреВрд░реНрд╡реА Keepalive рдХрдиреЗрдХреНтАНрд╢рди рдЖрддрд╛ рдмрдВрдж рд╣реЛрдК рд▓рд╛рдЧрддрд╛рдд рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдЗрд╢рд╛рд░реЗ рд▓реЙрдЧрдордзреНтАНрдпреЗ рдкрд░рд╛рд╡рд░реНрддрд┐рдд рд╣реЛрддрд╛рдд.
  • рдЪрдВрдХреНрдб рдЯреНрд░рд╛рдиреНрд╕рдорд┐рд╢рди рд╡рд╛рдкрд░рддрд╛рдирд╛, рдХреНрд▓рд╛рдпрдВрдЯ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдмреЙрдбреА рд╡рд╛рдЪрдгреНрдпрд╛рдЪреЗ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • "ssl_ocsp" рдирд┐рд░реНрджреЗрд╢ рд╡рд╛рдкрд░рддрд╛рдирд╛ рдЙрджреНрднрд╡рд▓реЗрд▓реНрдпрд╛ рдореЗрдорд░реА рдЧрд│рддреАрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ.
  • рдлрд╛рд╕реНрдЯрд╕реАрдЬреАрдЖрдп рд╕рд░реНрд╡реНрд╣рд░рдиреЗ рдЪреБрдХреАрдЪрд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рджрд┐рд▓реНрдпрд╛рд╡рд░ рд▓реЙрдЧрдордзреНрдпреЗ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ тАЬрдЭрд┐рд░реЛ рд╕рд╛рдЗрдЬ рдмрдл рдЗрди рдЖрдЙрдЯрдкреБрдЯтАЭ рдореЗрд╕реЗрдЬрд╕рд╣ рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рджрд┐рд╕рд▓реЗрд▓реА рд╕рдорд╕реНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ.
  • рд▓рд╛рд░реНрдЬ_рдХреНрд▓рд╛рдпрдВрдЯ_рд╣реЗрдбрд░_рдмрдлрд░ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЖрдХрд╛рд░рд╛рдд рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рд╡рд░ рдЙрджреНрднрд╡рдгрд╛рд▒реНрдпрд╛ рд╡рд░реНрдХрдлреНрд▓реЛ рдХреНрд░реЕрд╢рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЗрд▓реЗ.
  • SSL рдХрдиреЗрдХреНрд╢рдирдЪреНрдпрд╛ рдЪреБрдХреАрдЪреНрдпрд╛ рд╕рдорд╛рдкреНрддреА рдЖрдгрд┐ рдЪреЗрддрд╛рд╡рдгреА рдЖрдЙрдЯрдкреБрдЯрдЪреА рд╕рдорд╕реНрдпрд╛ "SSL_shutdown() рдЕрдпрд╢рд╕реНрд╡реА (SSL: ... рд╡рд╛рдИрдЯ рд▓реЗрдЦрди рдкреБрдиреНрд╣рд╛ рдкреНрд░рдпрддреНрди)" рд╕реЛрдбрд╡рд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ.
  • ngx_http_slice_module рдЖрдгрд┐ ngx_http_xslt_filter_module рдореЙрдбреНрдпреВрд▓рдордзреАрд▓ рддреНрд░реБрдЯреА рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реНрдпрд╛.

рдПрдХрд╛рдЪрд╡реЗрд│реА рдЬрд╛рдЧрд╛ рдШреЗрддрд▓реА рд░реАрд▓рд┐рдЭ рдПрдирдЬреЗрдПрд╕ 0.4.3, nginx рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА JavaScript рджреБрднрд╛рд╖реА. njs рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░ ECMAScript рдорд╛рдирдХреЗ рд▓рд╛рдЧреВ рдХрд░рддреЛ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреАрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░реВрди рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рдЪреА nginx рдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЧрддрд┐рдорд╛рдирдкрдгреЗ рдкреНрд░рддрд┐рд╕рд╛рдж рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд┐рдирдВрддреА/рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдд рдмрджрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрдЯрдХрди рд╕реНрдЯрдм рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдЧрдд рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ:

  • HTTP рд╡рд┐рдирдВрддреА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╕рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд╛рд░реНрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдлрдВрдХреНрд╢рдиреНрд╕рд╕рд╣ рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд▓реЗ.
  • fs.mkdir() рдЖрдгрд┐ fs.rmdir() рдлрдВрдХреНрд╢рдиреНрд╕рдирд╛ рдЖрддрд╛ рдЖрд╡рд░реНрддреАрдкрдгреЗ рдбрд┐рд░реЗрдХреНрдЯрд░реА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╣рдЯрд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЖрд╣реЗ.
  • UTF-8 рдбреАрдХреЛрдбрд░ рдЬреЛрдбрд▓рд╛.
  • рдЕрдХреНрд╖рд░ рдХреЛрдб рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдпреБрдирд┐рдХреЛрдб рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдпрд╛рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА TextEncoder рдЖрдгрд┐ TextDecoder рд╕рд╛рдареА рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде: "(new TextDecoder()).decode(new Uint8Array([206,177,206,178]))".

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛