ืฉื—ืจื•ืจ ืฉืœ nginx 1.17.6 ื•-njs 0.3.7

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

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

  • ื ื•ืกืคื• ืžืฉืชื ื™ื ื—ื“ืฉื™ื $proxy_protocol_server_addr ะธ $proxy_protocol_server_port, ื”ืžื›ื™ืœื™ื ืืช ื›ืชื•ื‘ืช ื”ืฉืจืช ื•ื”ื™ืฆื™ืื” ืฉื”ืชืงื‘ืœื• ืžื›ื•ืชืจืช ืคืจื•ื˜ื•ืงื•ืœ PROXY;
  • ื ื•ืกืคื” ื”ื ื—ื™ื” limit_conn_dry_run, ืฉืžื›ื ื™ืก ืืช ื”ืžื•ื“ื•ืœ ngx_http_limit_conn_module ืœืžืฆื‘ ื ื™ืกื•ื™, ื‘ื• ืžืกืคืจ ื”ื—ื™ื‘ื•ืจื™ื ืื™ื ื• ืžื•ื’ื‘ืœ, ืืœื ื ืœืงื— ื‘ื—ืฉื‘ื•ืŸ.
  • ื‘ืžื•ื“ื•ืœ ืžื•ื“ื•ืœ ngx_stream_limit_conn_modul ื”ื•ืกื™ืฃ ืžืฉืชื ื” $limit_conn_status, ื”ืžืื—ืกืŸ ืืช ื”ืชื•ืฆืื” ืฉืœ ื”ื’ื‘ืœืช ืžืกืคืจ ื”ื—ื™ื‘ื•ืจื™ื: PASSED, REJECTED ืื• REJECTED_DRY_RUN;
  • ื‘ืžื•ื“ื•ืœ ngx_http_limit_req_module ื”ื•ืกื™ืฃ ืžืฉืชื ื” $limit_req_status, ื”ืžืื—ืกืŸ ืืช ื”ืชื•ืฆืื” ืฉืœ ื”ื’ื‘ืœืช ืงืฆื‘ ื”ื‘ืงืฉื•ืช ืฉื”ืชืงื‘ืœื•: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN ืื• REJECTED_DRY_RUN.

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

ื”ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื” ืžื•ืกื™ืคื” ืชืžื™ื›ื” ื‘ืฉื™ื˜ื•ืช Object.assign() ื•-Array.prototype.copyWithin(). Console.time() ืžืกืคืง ืืช ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ืชื•ื•ื™ื•ืช. ื”ืงื•ื“ ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื ืื•ื‘ื™ื™ืงื˜ื™ื ื—ื™ืฆื•ื ื™ื™ื ื•ืขื™ื‘ื•ื“ ื ืชื•ื ื™ื ื‘ืคื•ืจืžื˜ JSON ืขื•ื‘ื“ ืžื—ื“ืฉ. ื”ืงืจื™ืื” console.help() ื”ื•ืกืจื” ืžื”-CLI.

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

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