ืฉื—ืจื•ืจ ืฉืœ nginx 1.19.2 ื•-njs 0.4.3

ื ื•ืฆืจ ืฉื—ืจื•ืจ ื‘ืžืขืœื” ื”ื–ืจื 1.19.2, ืฉื‘ืชื•ื›ื• ื ืžืฉืš ื”ืคื™ืชื•ื— ืฉืœ ื™ื›ื•ืœื•ืช ื—ื“ืฉื•ืช (ื‘ืžืงื‘ื™ืœ ื ืชืžืš ื™ืฆื™ื‘ ืกื ื™ืฃ 1.18 ืžืชื‘ืฆืขื™ื ืจืง ืฉื™ื ื•ื™ื™ื ื”ืงืฉื•ืจื™ื ืœื‘ื™ื˜ื•ืœ ืฉื’ื™ืื•ืช ื•ืคื’ื™ืขื•ื™ื•ืช ื—ืžื•ืจื•ืช).

ื”ืขื™ืงืจื™ ืฉื™ื ื•ื™ื™ื:

  • ื—ื™ื‘ื•ืจื™ Keepalive ืžืชื—ื™ืœื™ื ื›ืขืช ืœื”ื™ืกื’ืจ ืœืคื ื™ ืžื™ืฆื•ื™ ื›ืœ ื”ื—ื™ื‘ื•ืจื™ื ื”ื–ืžื™ื ื™ื, ื•ืื–ื”ืจื•ืช ืžืชืื™ืžื•ืช ืžืฉืชืงืคื•ืช ื‘ื™ื•ืžืŸ.
  • ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืฉื™ื“ื•ืจ ื ืชื—, ื™ื•ืฉืžื” ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืงืจื™ืืช ื’ื•ืฃ ื‘ืงืฉืช ื”ืœืงื•ื—.
  • ืชื•ืงืŸ ื“ืœื™ืคืช ื–ื™ื›ืจื•ืŸ ืฉื”ืชืจื—ืฉื” ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื”ื ื—ื™ื™ืช "ssl_ocsp".
  • ื”ื‘ืขื™ื” ืฉื”ื•ืคื™ืขื” ื‘ืžื”ื“ื•ืจื” ื”ืื—ืจื•ื ื” ืขื ื”ื•ื“ืขื•ืช "XNUMX ื’ื•ื“ืœ buf in output" ืฉื”ื•ืฆืื• ืœื™ื•ืžืŸ ื›ืืฉืจ ืฉืจืช FastCGI ื”ื—ื–ื™ืจ ืชื’ื•ื‘ื” ืฉื’ื•ื™ื” ืชื•ืงื ื”.
  • ืชื•ืงืŸ ืงืจื™ืกืช ื–ืจื™ืžืช ืขื‘ื•ื“ื” ื”ืžืชืจื—ืฉืช ื›ืืฉืจ large_client_header_buffers ืžื•ื’ื“ืจื™ื ืœื’ื“ืœื™ื ืฉื•ื ื™ื ื‘ืฉืจืชื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื ืฉื•ื ื™ื.
  • ื”ื‘ืขื™ื” ืขื ืกื™ื•ื ืฉื’ื•ื™ ืฉืœ ื—ื™ื‘ื•ืจื™ SSL ื•ืคืœื˜ ื”ืื–ื”ืจื•ืช "SSL_shutdown() failed (SSL: ... bad write rery)" ื ืคืชืจื”.
  • ืชื™ืงื ื• ืฉื’ื™ืื•ืช ื‘ืžื•ื“ื•ืœื™ื ngx_http_slice_module ื•-ngx_http_xslt_filter_module.

ื‘ื• ื–ืžื ื™ืช ื”ืชืงื™ื™ื ืกื•ื’ื™ื” njs 0.4.3, ืžืชื•ืจื’ืžืŸ JavaScript ืขื‘ื•ืจ ืฉืจืช ื”ืื™ื ื˜ืจื ื˜ nginx. ืžืชื•ืจื’ืžืŸ njs ืžื™ื™ืฉื ืชืงื ื™ ECMAScript ื•ืžืืคืฉืจ ืœืš ืœื”ืจื—ื™ื‘ ืืช ื”ื™ื›ื•ืœืช ืฉืœ nginx ืœืขื‘ื“ ื‘ืงืฉื•ืช ื‘ืืžืฆืขื•ืช ืกืงืจื™ืคื˜ื™ื ื‘ืชืฆื•ืจื”. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืกืงืจื™ืคื˜ื™ื ื‘ืงื•ื‘ืฅ ืชืฆื•ืจื” ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืœื•ื’ื™ืงื” ืžืชืงื“ืžืช ืœืขื™ื‘ื•ื“ ื‘ืงืฉื•ืช, ื™ืฆื™ืจืช ืชืฆื•ืจื”, ื™ืฆื™ืจื” ื“ื™ื ืžื™ืช ืฉืœ ืชื’ื•ื‘ื”, ืฉื™ื ื•ื™ ื‘ืงืฉื”/ืชื’ื•ื‘ื”, ืื• ื™ืฆื™ืจื” ืžื”ื™ืจื” ืฉืœ ืงื˜ืขื™ื ืœืคืชืจื•ืŸ ื‘ืขื™ื•ืช ื‘ื™ื™ืฉื•ืžื™ ืื™ื ื˜ืจื ื˜. ื‘ื’ืจืกื” ื”ื—ื“ืฉื”:

  • ื ื•ืกืฃ ืžื•ื“ื•ืœ Query String ืขื ืคื•ื ืงืฆื™ื•ืช ืœื ื™ืชื•ื— ืžื—ืจื•ื–ืช ืขื ืคืจืžื˜ืจื™ื ืฉืœ ื‘ืงืฉืช HTTP.
  • ืœืคื•ื ืงืฆื™ื•ืช fs.mkdir() ื•-fs.rmdir() ื™ืฉ ื›ืขืช ืชืžื™ื›ื” ื‘ื™ืฆื™ืจื” ื•ืžื—ื™ืงื” ืจืงื•ืจืกื™ื‘ื™ืช ืฉืœ ืกืคืจื™ื•ืช.
  • ื ื•ืกืฃ ืžืคืขื ื— UTF-8.
  • ืชืžื™ื›ื” ืขื‘ื•ืจ TextEncoder ื•- TextDecoder ื™ื•ืฉืžื” ืœื”ืžืจื” ื‘ื™ืŸ ืงื•ื“ื™ ืชื•ื•ื™ื ื•ื™ื™ืฆื•ื’ Unicode ืฉืœื”ื. (ืœื“ื•ื’ืžื”: "(new TextDecoder()).decode(new Uint8Array([206,177,206,178]))".

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”