ืžืขืœื“ื•ื ื’ ืคื•ืŸ nginx 1.17.1 ืื•ืŸ njs 0.3.3

ื‘ื ื™ืžืฆื ืึทืคึผืกื˜ืจื™ื ืžืขืœื“ื•ื ื’ nginx 1.17.1, ืื™ืŸ ื•ื•ืึธืก ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื ื™ื™ึทืข ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ื”ืืœื˜ (ืื™ืŸ ืคึผืึทืจืึทืœืขืœ ื’ืขืฉื˜ื™ืฆื˜ ืกื˜ืึทื‘ื™ืœ ืฆื•ื•ื™ื™ึทื’ 1.16 ื‘ืœื•ื™ื– ืขื ื“ืขืจื•ื ื’ืขืŸ ืฉื™ื™ึทื›ื•ืช ืฆื• ื“ื™ ื™ืœื™ืžืึทื ื™ื™ืฉืึทืŸ ืคื•ืŸ ืขืจื ืกื˜ ืขืจืจืึธืจืก ืื•ืŸ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ื– ื–ืขื ืขืŸ ื’ืขืžืื›ื˜.

ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ื“ื™ืจืขืงื˜ื™ื•ื• ืฆื•ื’ืขื’ืขื‘ืŸ limit_req_dry_run, ื•ื•ืึธืก ืึทืงื˜ืึทื•ื•ื™ื™ืฅ ื“ื™ ืคึผืจืึธืฆืขืก ืœื•ื™ืคืŸ ืžืึธื“ืข, ืื™ืŸ ื•ื•ืึธืก ืงื™ื™ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ื–ืขื ืขืŸ ื’ืขื•ื•ืขื ื“ื˜ ืื•ื™ืฃ ื“ื™ ื™ื ื˜ืขื ืกื™ื˜ื™ ืคื•ืŸ ื‘ืขื˜ืŸ ืคึผืจืึทืกืขืกื™ื ื’ (ืึธืŸ ืงื•ืจืก ืฉื™ืขื•ืจ), ืึธื‘ืขืจ ื”ืืœื˜ ืฆื• ื ืขืžืขืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืจื™ืงื•ื•ืขืก ื™ืงืกื™ื“ ื“ื™ ืœื™ืžืึทืฅ ืื™ืŸ ืฉืขืจื“ ื–ื›ึผืจื•ืŸ;
  • ื•ื•ืขืŸ ื ื™ืฆืŸ ื“ื™ "ื•ืคึผืกื˜ืจื™ื" ื“ื™ืจืขืงื˜ื™ื•ื• ืื™ืŸ ื“ื™ "ืึทืคึผืกื˜ืจื™ื" ืกืขื˜ื˜ื™ื ื’ืก ื‘ืœืึธืงื”ืึทืฉยป ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ืžืึทืกืข ื‘ืึทืœืึทื ืกื™ื ื’ ืžื™ื˜ ืงืœื™ืขื ื˜-ืกืขืจื•ื•ืขืจ ื‘ื™ื™ื ื“ื™ื ื’, ืื•ื™ื‘ ืื™ืจ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืœื™ื™ื“ื™ืง ืฉืœื™ืกืœ ื•ื•ืขืจื˜, ื“ื™ ืžื•ื ื“ื™ืจ ื‘ืึทืœืึทื ืกื™ื ื’ ืžืึธื“ืข (ืงื™ื™ึทืœืขื›ื™ืง ืจืึธื‘ื™ืŸ) ืื™ื– ืื™ืฆื˜ ืึทืงื˜ื™ื•ื•ื™ื™ื˜ื™ื“;
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ ืึท ื•ื•ืึธืจืงืคืœืึธื•ื• ืงืจืึทืš ื•ื•ืขืŸ ืื™ืจ ื ื•ืฆืŸ ื“ื™ ืงืึทืฉ ืื™ืŸ ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืžื™ื˜ ื“ื™ ื“ื™ืจืขืงื˜ื™ื•ื• "image_filter" ืื•ืŸ ืจื™ื“ืขืจืขืงื˜ื™ื ื’ ื“ื™ 415 ื˜ืขื•ืช ืงืึธื“ ื”ืึทื ื“ืœืขืจ ืžื™ื˜ ื“ื™ ื“ื™ืจืขืงื˜ื™ื•ื• "ืขืจror_page";
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ ืึท ื•ื•ืึธืจืงืคืœืึธื•ื• ืงืจืึทืš ื•ื•ืึธืก ืื™ื– ืคืืจื’ืขืงื•ืžืขืŸ ื•ื•ืขืŸ ื ื™ืฆืŸ ื“ื™ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืคึผืขืจืœ ื™ื‘ืขืจื–ืขืฆืขืจ.

ืื™ืŸ ื“ืขืจืฆื•, ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื‘ืืžืขืจืงื˜ ืžืขืœื“ื•ื ื’ njs 0.3.3, ืึท ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื™ื‘ืขืจื–ืขืฆืขืจ ืคึฟืึทืจ ื“ื™ nginx ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ. ื“ื™ njs ื™ื‘ืขืจื–ืขืฆืขืจ ื™ืžืคึผืœืึทืžืึทื ืฅ ECMAScript ืกื˜ืึทื ื“ืึทืจื“ืก ืื•ืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื™ืงืกืคึผืึทื ื“ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืคื•ืŸ nginx ืฆื• ืคึผืจืึธืฆืขืก ืจื™ืงื•ื•ืขืก ื ื™ืฆืŸ ืกืงืจื™ืคึผืก ืื™ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ืกืงืจื™ืคึผื˜ืก ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืื™ืŸ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืฆื• ื“ืขืคื™ื ื™ืจืŸ ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืœืึธื’ื™ืง ืคึฟืึทืจ ืคึผืจืึทืกืขืกื™ื ื’ ืจื™ืงื•ื•ืขืก, ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ, ื“ื™ื ืึทืžื™ืงืึทืœืœื™ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืึท ืขื ื˜ืคืขืจ, ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ืึท ื‘ืขื˜ืŸ / ืขื ื˜ืคืขืจ, ืึธื“ืขืจ ื’ืขืฉื•ื•ื™ื ื“ ืงืจื™ื™ื™ื˜ื™ื ื’ ืกื˜ืึทื‘ืก ืฆื• ืกืึธืœื•ื•ืข ืคึผืจืึธื‘ืœืขืžืก ืื™ืŸ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–.

ื“ื™ ื ื™ื™ึทืข ืžืขืœื“ื•ื ื’ ืคื•ืŸ njs ืคื™ืงืกื™ื– ื™ืฉื•ื– ื™ื™ื“ืขื ืึทืคื™ื™ื“ ื‘ืขืฉืึทืก ืคืึทื–ื™ื ื’ ื˜ืขืกื˜ื™ื ื’. ื™ืžืคึผืœืึทืžืขื ื˜ืึทื“ ืึท ื’ืœืื‘ืืœืข ื•ื•ืขืจื™ืึทื‘ืึทืœ "ืคึผืจืึธืฆืขืก" ืžื™ื˜ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ืŸ ื™ื ื•ื•ื™ื™ืจืึทื ืžืขื ืึทืœ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืคื•ืŸ ื“ืขื ืงืจืึทื ื˜ ืคึผืจืึธืฆืขืก (ืคึผืจืึธืกืขืกืก.ืคึผื™ื“, ืคึผืจืึธืฆืขืก.ืขื ื•ื•.ื”ืึธืžืข, ืืื–"ื• ื•). ืึทืœืข ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืื•ืŸ ืžืขื˜ื”ืึธื“ืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืฉืจื™ื‘ืŸ ืฆื•. ืฆื•ื’ืขื’ืขื‘ืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ Array.prototype.fill(). ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืกื™ื ื˜ืึทืงืก ืคืืจื’ืขืœื™ื™ื’ื˜ ืื™ืŸ ECMAScript 5 ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ื’ืขื˜ื˜ืขืจ ะธ ื–ืขืฆืขืจ ืฆื• ื‘ื™ื ื“ืŸ ืึท ื›ื™ื™ืคืขืฅ ืคืึทืจืžืึธื’ ืฆื• ืึท ืคึฟื•ื ืงืฆื™ืข, ืœืžืฉืœ:

ื•ื•ืึทืจ ืึธ = {ืึท:2};
Object.defineProperty (ืึธ, 'ื‘', {ื‘ืึทืงื•ืžืขืŸ: ืคึฟื•ื ืงืฆื™ืข () {ืฆื•ืจื™ืงืงื•ืžืขืŸ 2 * ื˜ื”ื™ืก.ืึท}});

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’