Nginx 1.21.4 เบ›เปˆเบญเบเบญเบญเบเบกเบฒ

เบชเบฒเบ‚เบฒเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ nginx 1.21.4 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ, เบžเบฒเบเปƒเบ™เบ—เบตเปˆเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบฑเบเบชเบฐเบ™เบฐเปƒเบซเบกเปˆเบเบฑเบ‡เบชเบทเบšเบ•เปเปˆ (เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเบฒเบ‚เบฒเบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡ 1.20, เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เบ—เบตเปˆเบฎเป‰เบฒเบเปเบฎเบ‡).

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เบปเป‰เบ™เบ•เป:

  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ HTTP/2 เป‚เบ”เบเปƒเบŠเป‰ NPN (Next Protocol Negotiation) extension เปเบ—เบ™ ALPN เป„เบ”เป‰เบ–เบทเบเบขเบธเบ”เป€เบŠเบปเบฒ;
  • เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ SSL เบ–เบทเบเบ›เบดเบ”เป€เบกเบทเปˆเบญเบฅเบนเบเบ„เป‰เบฒเปƒเบŠเป‰เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ ALPN เบ–เป‰เบฒเป‚เบ›เป‚เบ•เบ„เบญเบ™เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบฅเบทเบญเบเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบˆเบฅเบฐเบˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ;
  • เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ "sendfile_max_chunk", เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™ 2 megabytes;
  • เปƒเบ™เป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”, เบ„เปเบฒเบชเบฑเปˆเบ‡ proxy_half_close เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒเบžเบถเบ”เบ•เบดเบเปเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบดเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ TCP proxied เปƒเบ™เบ”เป‰เบฒเบ™เบซเบ™เบถเปˆเบ‡ ("TCP half-close");
  • เปƒเบ™เป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”, เบ„เปเบฒเบชเบฑเปˆเบ‡ ssl_alpn เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™ ALPN เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ (h2, http/1.1) เปเบฅเบฐเบ•เบปเบงเปเบ› $ssl_alpn_protocol, เบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™ ALPN เบ—เบตเปˆเบ•เบปเบเบฅเบปเบ‡เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ—เบซเบฒ SSL_sendfile() เป€เบกเบทเปˆเบญเปƒเบŠเป‰ OpenSSL 3.0;
  • เป€เบžเบตเปˆเบกเบ„เบณเบชเบฑเปˆเบ‡ โ€œmp4_start_key_frameโ€ เปƒเบ™เป‚เบกเบ”เบนเบ™ ngx_http_mp4_module เบชเบณเบฅเบฑเบšเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบงเบดเบ”เบตเป‚เบญเบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบเบเบญเบšเบ„เบต.
  • เปเบเป‰เป„เบ‚เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเปเบ› $content_length เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบเบฒเบ™เป‚เบญเบ™ chunked;
  • เปเบเป‰เป„เบ‚เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบเบฒเบงเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบˆเบฒเบ backend proxied;
  • เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบกเบตเบฅเบฐเบ”เบฑเบš "เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”" เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ "เบ‚เปเป‰เบกเบนเบ™" เป€เบกเบทเปˆเบญเบชเปˆเบงเบ™เบซเบปเบงเบˆเบฒเบ backends เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡;
  • เปเบเป‰เป„เบ‚เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบซเป‰เบญเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰ HTTP/2 เปเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡ aio_write.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™