Выпуск nginx 1.28.0 ΠΈ Ρ„ΠΎΡ€ΠΊΠ° FreeNginx 1.28.0

ПослС Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° новая ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚ΠΊΠ° Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ HTTP-сСрвСра ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ прокси-сСрвСра nginx 1.28.0, которая Π²ΠΎΠ±Ρ€Π°Π»Π° Π² сСбя измСнСния, Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Π΅ Π² основной Π²Π΅Ρ‚ΠΊΠ΅ 1.27.x. Π’ дальнСйшСм всС измСнСния Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ 1.28 Π±ΡƒΠ΄ΡƒΡ‚ связаны с устранСниСм ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… ошибок ΠΈ уязвимостСй. Π’ скором Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ сформирована основная Π²Π΅Ρ‚ΠΊΠ° nginx 1.29, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй. Для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со сторонними модулями, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π· Π² Ρ‚Ρ€ΠΈ мСсяца Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ выпуски коммСрчСского ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Nginx Plus.

Π’ соотвСтствии с мартовским ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Netcraft ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ nginx Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 245 ΠΌΠ»Π½ сайтов (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 243 ΠΌΠ»Π½, Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ 289 ΠΌΠ»Π½). Nginx ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° 17.89% всСх Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… сайтов (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 18.15%, Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ 18.94%), Ρ‡Ρ‚ΠΎ соотвСтствуСт ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ мСсту ΠΏΠΎ популярности Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ (доля Apache соотвСтствуСт 16.03% (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 20.09%, Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ 20.52%), Cloudflare β€” 17.81% (14.12%, 11.32%), Google β€” 9.89% (10.41%, 9.89%).

ΠŸΡ€ΠΈ рассмотрСнии всСх сайтов nginx сохраняСт лидСрство ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 20.48% Ρ€Ρ‹Π½ΠΊΠ° (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 22.31%, Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ β€” 25.94%), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ доля Apache соотвСтствуСт 16.03% (20.17%, 20.58%), Cloudflare β€” 12.87% (11.24%, 10.17%), OpenResty (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π±Π°Π·Π΅ nginx ΠΈ LuaJIT) β€” 9.36% (7.93%, 7.94%).

Π‘Ρ€Π΅Π΄ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° самых посСщаСмых сайтов Π² ΠΌΠΈΡ€Π΅ nginx Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мСсто с Π΄ΠΎΠ»Π΅ΠΉ 20.37% (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 20.63%, Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ 21.37%). ΠŸΠ΅Ρ€Π²ΠΎΠ΅ мСсто ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Cloudflare β€” 22.32% (Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ 22.59%, Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ 21.62%). Доля Apache httpd β€” 17.95% (20.09%, 21.18%).

По Π΄Π°Π½Π½Ρ‹ΠΌ W3Techs nginx ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° 33.8% сайтов ΠΈΠ· ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° самых посСщаСмых (Π² Π°ΠΏΡ€Π΅Π»Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° этот ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ составлял 34.3%, ΠΏΠΎΠ·Π°ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ β€” 34.5%). Доля Apache Π·Π° Π³ΠΎΠ΄ снизилась с 30.1% Π΄ΠΎ 26.3%, Π° доля Microsoft IIS снизилась с 5% Π΄ΠΎ 4%. Доля Node.js ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π°ΡΡŒ с 3.2% Π΄ΠΎ 4.4%, Π° доля LiteSpeed с 12.9% Π΄ΠΎ 14.6%.

НаиболСС Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² процСссС формирования основной Π²Π΅Ρ‚ΠΊΠΈ 1.27.x:

  • Для соСдинСний, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» QUIC, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° управлСния сСтСвой ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ CUBIC (RFC 9438), Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сводится ΠΊ постСпСнному ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄ΠΎ появлСния ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², послС Ρ‡Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° откатываСтся Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΡ‚Π΅Ρ€ΠΈ. Π’ ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… тСстах использованиС CUBIC ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 500ΠœΠ‘ Π½Π° 24% ΠΏΡ€ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ… 40ms ΠΈ BDP 750K (Bandwidth Delay Product) ΠΈ Π½Π° 73% ΠΏΡ€ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ… 100ms ΠΈ BDP 9M.
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ stream Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ‚Π·Ρ‹Π²Π° сСртификатов ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» OCSP (Online Certificate Status Protocol).
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ stream Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ‚Π·Ρ‹Π²Π° сСртификатов OCSP Stapling, ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ согласовании TLS-соСдинСния Π·Π°Π²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΌ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ ΠΎΡ‚Π²Π΅Ρ‚ OCSP пСрСдаётся сСрвСром, ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ сайт, Π±Π΅Π· нСобходимости прямого обращСния ΠΊ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΌΡƒ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ).
  • ΠŸΡ€ΠΈ запускС ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ SSL-сСртификатов, ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ CRL (Certificate Revocation List).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ возмоТности для сниТСния потрСблСния рСсурсов ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΏΡ€ΠΈ использовании TLS Π² конфигурациях с большим числом Π±Π»ΠΎΠΊΠΎΠ² server ΠΈ location. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ вмСсто создания для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ контСкста SSL (SSL_CTX Π² OpenSSL), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ контСкст SSL ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.
  • Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ Β«ssl_client_certificateΒ» обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСртификатов с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.
  • Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ клиСнтских SSL-сСртификатов Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Β«ssl_client_certificateΒ» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ngx_mail_proxy_module Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° спСцифичного для SmarterMail Ρ€Π΅ΠΆΠΈΠΌΠ° IMAP LOGIN с Π½Π΅Ρ‚Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ CAPABILITY.
  • Π’ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ngx_http_proxy_module Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Β«proxy_pass_trailersΒ», Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠΎΠ»Π΅ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ проксируСмого сСрвСра ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.
  • Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ Β«serverΒ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ Π² Π±Π»ΠΎΠΊΠ΅ Β«upstreamΒ», Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Β«resolveΒ», Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ отслСТиваниС измСнСния IP-адрСса для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠ° Β«upstreamΒ» Π±Π΅Π· нСобходимости пСрСзапуска nginx Π² случаС измСнСния адрСса.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ… Β«proxy_limit_rateΒ», Β«fastcgi_limit_rateΒ», Β«scgi_limit_rateΒ» ΠΈ Β«uwsgi_limit_rateΒ».
  • Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ… Β«proxy_bindΒ», Β«fastcgi_bindΒ», Β«grpc_bindΒ», Β«memcached_bindΒ», Β«scgi_bindΒ» ΠΈ Β«uwsgi_bindΒ», Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² качСствС адрСса ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ngx_http_realip_module Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ IPv6-адрСсов Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках Π±Π΅Π· Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΎΡ€Ρ‚Π°.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Β«keepalive_min_timeoutΒ», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ nginx Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ keep-alive соСдинСниС с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ.
  • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ TLSv1 ΠΈ TLSv1.1.
  • Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄ΠΎΠ»Π³ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ·-Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€Π° TLS-сСртификатов, ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ списков ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΡ… Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ². УскорСна ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° счёт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡˆΠΈΡ…ΡΡ TLS-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сСртификаты, ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ CRL. Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ наслСдования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Β«ssl_object_cache_inheritableΒ».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ кэш для сСртификатов ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… с использованиСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ssl_certificate /etc/ssl/$ssl_server_name.crtΒ»). Для управлСния кэшСм Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Β«ssl_certificate_cacheΒ», Β«proxy_ssl_certificate_cacheΒ», Β«grpc_ssl_certificate_cacheΒ» ΠΈ Β«uwsgi_ssl_certificate_cacheΒ». Π§Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ кэша, врСмя дСйствия записСй ΠΈ врСмя очистки нСвострСбованных записСй. НапримСр: Β«ssl_certificate_cache max=1000 inactive=20s valid=1m;Β».
  • Π‘Π½ΠΈΠΆΠ΅Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΡ… запросов Π² конфигурациях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Β«gzipΒ», Β«gunzipΒ», Β«ssiΒ», Β«sub_filterΒ» ΠΈΠ»ΠΈ Β«grpc_passΒ».
  • ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π² раздСляСмой памяти сСансов SSL ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ Π΄ΠΎ 8192.
  • НалаТСна сборка с Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Musl.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ ошибок Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ HTTP/3.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ€Π΅Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° FreeNginx 1.28.0, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΊ Nginx. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„ΠΎΡ€ΠΊΠ° Π²Π΅Π΄Ρ‘Ρ‚ Максим Π”ΡƒΠ½ΠΈΠ½, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Nginx. FreeNginx позиционируСтся ΠΊΠ°ΠΊ нСкоммСрчСский ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ Nginx Π±Π΅Π· ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°. Π‘Ρ€Π΅Π΄ΠΈ спСцифичных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π΅Ρ‚ΠΊΠ΅ FreeNginx 1.28:

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«offΒ» Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ Β«pidΒ», ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ созданиС PID-Ρ„Π°ΠΉΠ»Π°.
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ интСнсивности записи сообщСний Π² Π»ΠΎΠ³ ошибок для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ заполнСния Π»ΠΎΠ³Π° Ρ‚ΠΈΠΏΠΎΠ²Ρ‹ΠΌΠΈ сообщСниями.
  • РСализация ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° multipath Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ listen для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Multipath TCP.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Β«AgeΒ» для опрСдСлСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ записСй ΠΊ кэшС.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ XOAUTH2 ΠΈ OAUTHBEARER Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ mail_proxy.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ