Нови версии на nginx 1.27.5, форк FreeNginx 1.27.6 и JavaScript модул njs 0.8.10

Представен е новият основен релийз на nginx 1.27.5, в който се продължава развитието на нови възможности. В паралелно поддържаната стабилна версия 1.26.x се въвеждат само промени, свързани с отстраняване на сериозни грешки и уязвимости. В бъдеще на базата на основната версия 1.27.x ще бъде формирана стабилна версия 1.28. Кодът на проекта е написан на езика Си и се разпространява под лицензия BSD.

Сред промените в nginx 1.27.5:

  • За връзките, използващи протокол QUIC, е добавена поддръжка на алгоритъма за управление на мрежовото претоварване CUBIC (RFC 9438), чиято работа се свежда до постепенно увеличаване на размера на прозореца на претоварване до появата на загуба на пакети, след което размерът на прозореца се връща на стойността преди началото на загубата. В проведените тестове използването на CUBIC е позволило да се съкрати времето за пренос на файл с размер 500MB с 24% при закъснение от 40ms и BDP 750K (Bandwidth Delay Product) и с 73% при закъснение от 100ms и BDP 9M.
  • Максималният размер на кешираните в споделена памет сесии SSL е увеличен до 8192.
  • Оптимизирана е компилацията с C-библиотеката Musl.
  • Извършена е работа по оптимизация на производителността и отстраняване на грешки в реализацията на HTTP/3.
  • Отстранени са грешки в реализацията на директивите «grpc_ssl_password_file», «proxy_ssl_password_file» и «uwsgi_ssl_password_file», които се проявявали при зареждане SSL сертификати и ключовете за шифроване от променливи.
  • Решени са проблемите с задаването на променливите $ssl_curve и $ssl_curves при използване на присъединени реализации на елиптични криви в OpenSSL.

Допълнително, може да се отбележи публикуването на стабилните версии на проекта FreeNginx 1.27.5 и 1.27.6, развиващо форка Nginx. Разработката на форка се води от Максим Дунин, един от ключовите разработчици на Nginx. FreeNginx се позиционира като некомерсиален проект, който осигурява разработването на кодовата база на Nginx без корпоративна намеса.

Промени в FreeNginx 1.27.5 и 1.27.6:

  • Решени са проблеми при използването на OpenSSL 3.5 (в променливите $ssl_curve и $ssl_curves не се отображаваше името на групата X25519MLKEM768).
  • Отстранено е аварийното прекратяване на работния процес в конфигурации с директивата proxy_ssl_password_file, проявяващо се при задаване на променливи в директивите proxy_ssl_certificate и proxy_ssl_certificate_key.
  • В директивата listen е добавена поддръжка за параметъра multipath.
  • Забранено е повторното използване на SSL сесии между сървъри, използващи различни сертификати в директивата ssl_trusted_certificate, при активиране на проверка на клиентските SSL сертификати.
  • Решен е проблемът с повторното използване на сесии в контекста на друг. виртуален сървър при използване на TLSv1.3 с OpenSSL 1.1.1e+.
  • Решен е проблемът при използване на zlib-ng.

Освен това е издаден njs 0.8.10, модул за интеграция на интерпретатори на JavaScript в http сървъра nginx. Поддържат се свързвания към различни JavaScript двигатели. В качеството на базов е представлен собствен двигател QuickJS с поддръжка на спецификацията ECMAScript 2023. Njs позволява използването на JavaScript скриптове в конфигурацията за разширяване на възможностите на nginx. Скриптовете могат да се използват за определяне на разширена логика за обработка на заявки, създаване на конфигурация, динамично генериране на отговори, модификация на заявки/отговори или бързо създаване на мрежови пейдод, с цел решаване на проблеми в уеб приложения.

Промените в njs 0.8.10:

  • В JavaScript двигателя QuickJS е добавена поддръжка на API WebCrypto, TextEncoder и TextDecoder.
  • В QuickJS двигателя са добавени нови модули querystring, crypto и xml.
  • Добавена е поддръжка на библиотеката QuickJS-NG.
  • В модула за nginx е реализирано четене на съдържанието на r.requestText и r.requestBuffer от временно файла.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster