Выпуск nginx 1.21.2 ΠΈ njs 0.6.2

Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ выпуск основной Π²Π΅Ρ‚ΠΊΠΈ nginx 1.21.2, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ продолТаСтся Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй (Π² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ 1.20 вносятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния, связанныС с устранСниСм ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… ошибок ΠΈ уязвимостСй).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ измСнСния:

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° запросов HTTP/1.0, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ «Transfer-Encoding» (появился Π² вСрсии ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP/1.1).
  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° экспортного Π½Π°Π±ΠΎΡ€Π° ΡˆΠΈΡ„Ρ€ΠΎΠ².
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ OpenSSL 3.0.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² «Auth-SSL-Protocol» ΠΈ «Auth-SSL-Cipher» сСрвСру Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ прокси.
  • Π’ API Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅Π»Π° запроса Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π° буфСризация ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ сСртификатов сСрвСра Π½Π°Π»Π°ΠΆΠ΅Π½ΠΎ использованиС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ бСзопасности, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… начиная с OpenSSL 1.1.0 ΠΈ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «@SECLEVEL=N» Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ ssl_ciphers.
  • УстранСны зависания, ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€ΠΈ создании SSL-соСдинСния ΠΊ бэкСндам Π² модулях stream ΠΈ gRPC.
  • РСшСна ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с записью Π½Π° диск Ρ‚Π΅Π»Π° запроса ΠΏΡ€ΠΈ использовании HTTP/2, Π² случаС отсутствия Π² запросС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° «Content-Length».

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ состоялся выпуск njs 0.6.2, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° языка JavaScript для Π²Π΅Π±-сСрвСра nginx. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ njs Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ стандарты ECMAScript ΠΈ позволяСт Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ возмоТности nginx ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запросов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для опрСдСлСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов, формирования ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ запроса/ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈΠ»ΠΈ быстрого создания Π·Π°Π³Π»ΡƒΡˆΠ΅ΠΊ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² web-прилоТСниях. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Promise Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Promise.all(), Promise.allSettled(), Promise.any() ΠΈ Promise.race(). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° AggregateError.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru