Izinguqulo ezintsha ze-nginx 1.25.5 nefork FreeNginx 1.26.0

Igatsha eliyinhloko le-nginx 1.25.5 likhishwe, lapho ukuthuthukiswa kwezici ezintsha kuqhubeka. Igatsha elizinzile elinakekelwa ngokufana elithi 1.24.x liqukethe kuphela izinguquko ezihlobene nokuqedwa kweziphazamisi ezinkulu nokuba sengozini. Esikhathini esizayo, ngokusekelwe egatsheni eliyinhloko 1.25.x, igatsha elizinzile 1.26 lizokwakhiwa. Ikhodi yephrojekthi ibhalwe ngo-C futhi isatshalaliswa ngaphansi kwelayisensi ye-BSD.

Phakathi kwezinguquko:

  • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ stream Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… сСрвСров, конфигурация ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… опрСдСляСтся Π² Π±Π»ΠΎΠΊΠ΅ Β«server { … }Β» ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ngx_stream_pass_module, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для проброса принятых соСдинСний Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² любой ΡΠ»ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠΉ сокСт, связанный с Ρ‚Π°ΠΊΠΈΠΌΠΈ модулями, ΠΊΠ°ΠΊ http, stream ΠΈ mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
  • Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ listen модуля stream Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Β«deferredΒ» (Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ accept), Β«accept_filterΒ» (Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ входящих соСдинСний, примСняСмый ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ accept) ΠΈ Β«setfibΒ» (Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ).
  • Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π»ΠΎΠΊΠ° (cache line), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ кэшСм CPU ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.
  • На систСмах Apple Silicon Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Homebrew.
  • Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с кросс-компиляциСй для Windows.
  • УстранСна ошибка, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠ°Ρ ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ соСдинСний ΠΏΡ€ΠΈ использовании Ρ€Π΅ΠΆΠΈΠΌΠ° 0-RTT Π² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ QUIC.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° FreeNginx 1.26.0, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΊ Nginx. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„ΠΎΡ€ΠΊΠ° Π²Π΅Π΄Ρ‘Ρ‚ Максим Π”ΡƒΠ½ΠΈΠ½, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Nginx. FreeNginx позиционируСтся ΠΊΠ°ΠΊ нСкоммСрчСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Nginx Π±Π΅Π· ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Выпуск 1.26.0 ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ ΠΊΠ°ΠΊ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ·, Π²ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΠΉ Π² сСбя измСнСния ΠΈ исправлСния ΠΈΠ· выпусков mainline-Π²Π΅Ρ‚ΠΊΠΈ Nginx 1.25. Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ Π² состав FreeNginx 1.26.0 вошли ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP/3, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ для противодСйствия DoS-Π°Ρ‚Π°ΠΊΠ°ΠΌ ΠΈ исправлСния, связанныС с асинхронной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°.

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ состоялся выпуск njs 0.8.4, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° языка JavaScript для Π²Π΅Π±-сСрвСра nginx. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ njs Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ стандарты ECMAScript ΠΈ позволяСт Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ возмоТности nginx ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запросов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для опрСдСлСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов, формирования ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, динамичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ запроса/ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈΠ»ΠΈ быстрого создания Π·Π°Π³Π»ΡƒΡˆΠ΅ΠΊ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² web-прилоТСниях. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии: Π² CLI Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° JavaScript-Π΄Π²ΠΈΠΆΠΊΠ° QuickJS; Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выставлСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Server; Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, выставлСнных Ρ‡Π΅Ρ€Π΅Π· js_set.

Source: opennet.ru

Engeza amazwana