ืืขื ืฃ ืืจืืฉื ืฉื nginx 1.25.3 ืฉืืืจืจ, ืฉืืชืืื ื ืืฉื ืืคืืชืื ืฉื ืชืืื ืืช ืืืฉืืช. ืืขื ืฃ ืืืฆืื ืืืชืืืืง ืืืงืืื 1.24.x ืืืื ืจืง ืฉืื ืืืื ืืงืฉืืจืื ืืืืกืื ืืืืื ืืคืืืขืืืืช ืืืืจืืช. ืืขืชืื, ืืืชืืกืก ืขื ืืขื ืฃ ืืจืืฉื 1.25.x, ืืืืฆืจ ืขื ืฃ ืืฆืื 1.26. ืงืื ืืคืจืืืงื ืืชืื ื-C ืืืืคืฅ ืชืืช ืจืืฉืืื BSD.
ืืื ืืฉืื ืืืื:
- ืืืื ื ืืคื ื ืคืขืืืืช ืืจืืื ืฉื ืืงืืืืช HTTP/2 ืืืืงื, ืืืืืืื ืืคื ื ืืชืงืคืืช DoS ืฉื ืืืืงื "Rapid Reset", ืฉืืื ื ืืฆืจืื ืืกืคืจ ืจื ืฉื ืฉืจืฉืืจืื ืืืืคืกืื ืืืืคื ืืืืื ืืชืื ืืืืืจ HTTP/2 ืืืื. ืืชืฆืืจืช ืืจืืจืช ืืืืื, ืืชืงืคืืช ืืืื ืืืืืืืช ืขื ืืื ืืืืื ืขื ืืกืคืจ ืืืงืฉืืช ืืืืืืจ "keepalive_requests" (ืืืืจ ืื 1000 ืืงืฉืืช ืืืืืืจ ืืืืคืก) ืืืืืืืืช "limit_req". ืืื ืืืืื ืืืงืื ืืืชืจ ืืืฆืคื ืืืงืฉืืช ืืจื ืืกืคืจ ืจื ืฉื ืฉืจืฉืืจืื, ื ืืกืคื ืืืืื ื ืืกืคืช ืฉืืื ื ืืืคืฉืจืช ืืฆืืจื ืฉื ืืืชืจ ื-256 (2 * max_concurrent_streams) ืฉืจืฉืืจืื ืืืฉืื ืืื ืืืืืจ ืขืืืื ืืืจืืขืื ืืืจืืจืช ืืืื. ืืืืืื ืืืืฉื ืืืคืฉืจืช ืืืชืืื ืืืกืื ืืงืฉืืช ืืคื ื ืืืืื ืืืืืืช ืฉื ืืกืคืจ ืืฉืจืฉืืจืื ืื-ืืื ืืช, ืืืฉื ืืืฉืจ ืฉืจืฉืืจืื ืืขืืืืื ืืืืคื ืืกืื ืืจืื ื ืื ื ืฉืืคืื. ืฉืื ืื ืืืื ื ืืื ืื ืืืืืืจื ืฉื angie 1.3.1 (ืืืื nginx), ืฉืคืืจืกื ืืคื ื ืฉืืืข.
- ื ืืืื ืืฉืืคืจ ืฉื ืืืืจืื ืืืฉืืฉืื ืืขืช ืืืืื ืืืืืืื ืฉื ืืืืืจื HTTP/2.
- ืืืฆืืขื ืืฉืงืช ืชืฆืืจืืช ืขื ืืกืคืจ ืจื ืฉื ืื ืืืืช "ืืืงืื" ืฉืืคืจื.
- ืชืืงื ืงืจืืกื ืฉืืชืจืืฉื ืืขืช ื ืืกืืื ืืืฉืชืืฉ ื-HTTP/2 ืืื SSL.
- ืชืืงื ืขืืืื ืฉืืื ืฉื ืืืืชืจืช "ืกืืืืก" ืฉืืืืืจื ืขื ืืื ืืงืฆื ืืขืืจืคื ืขื ืืงืกื ืืกืืจ ืจืืง.
- ืชืืงื ืืืืคืช ืืืืจืื ืืืืื ืงืื ืคืืืืจืฆืื ืืืืฉ ืฉืืชืจืืฉื ืืขืช ืื ืืื ืขื ืกืคืจืืืช PCRE2.
- ืืืฆื ืืืง ืืืื ืฉื ืชืืงืื ืื ืืฉืืคืืจืื ืืงืฉืืจืื ืืชืืืื ืืคืจืืืืงืื HTTP/3.
ืืืงืืื, ืฉืืืจืจ njs 0.8.2, ืืชืืจืืื JavaScript ืขืืืจ ืฉืจืช ืืืื ืืจื ื nginx. ืืชืืจืืื njs ืืืืฉื ืชืงื ื ECMAScript ืืืืคืฉืจ ืื ืืืจืืื ืืช ืืืืืืช ืฉื nginx ืืขืื ืืงืฉืืช ืืืืฆืขืืช ืกืงืจืืคืืื ืืชืฆืืจื. ื ืืชื ืืืฉืชืืฉ ืืกืงืจืืคืืื ืืงืืืฅ ืชืฆืืจื ืืื ืืืืืืจ ืืืืืงื ืืชืงืืืช ืืขืืืื ืืงืฉืืช, ืืฆืืจืช ืชืฆืืจื, ืืฆืืจื ืืื ืืืช ืฉื ืชืืืื, ืฉืื ืื ืืงืฉื/ืชืืืื, ืื ืืฆืืจื ืืืืจื ืฉื ืงืืขืื ืืคืชืจืื ืืขืืืช ืืืืฉืืื ืืื ืืจื ื. ืืืจืกื ืืืืฉื ืืืกืืคื ืืืืืืงื ืืกืืฃ ืืืกืคืง ืืช ืืืชืืืืช error(), info(), log(), time(), timeEnd() ื- warn(). ืฉืืืช fs.existsSync() ื ืืกืคื ืืืืืื fs.
ืืื ืื, ื ืืชื ืืฆืืื ืืช ืคืจืกืื ืฉืจืช ืืืืฉืืืื NGINX Unit 1.31.1, ืื ืืชื ืืขื ื ืืืคืขืืช ืืคืืืงืฆืืืช ืืื ืืจื ื ืืฉืคืืช ืชืื ืืช ืฉืื ืืช (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ื-Java). NGINX Unit ืืืืื ืืืจืืฅ ืื ืืื ืืช ืืกืคืจ ืืืฉืืืื ืืฉืคืืช ืชืื ืืช ืฉืื ืืช, ืฉืืช ืคืจืืืจื ืืืฉืงื ืฉืืื ื ืืชื ืืฉื ืืช ืืืืคื ืืื ืื ืืื ืฆืืจื ืืขืจืื ืงืืฆื ืชืฆืืจื ืืืืคืขืื ืืืืฉ. ืื ืืกืฃ ืืชืืงืื ื ืืืืื, ืืืจืกื ืืืืฉื ืืืืืื Wasm ืืืคืฉืจืช ืืขืื ืช ื ืชืื ืื ืืืืืื ื-4 ื'ืืื-ืืืื, ืืืขืช ืชืืืื ืืคืฉืจ ืืืืืืจ ืงืืื ืกืืืืก HTTP.
ืืงืืจ: OpenNet.ru