Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Nginx 1.27.5: поддержка CUBIC для QUIC, оптимизация HTTP/3 и исправления ошибок

Nginx 1.27.5 добавляет поддержку алгоритма CUBIC для QUIC, улучшает производительность HTTP/3 и устраняет ошибки в SSL

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 186
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 38 раз
Поблагодарили: 22 раза

Nginx 1.27.5: поддержка CUBIC для QUIC, оптимизация HTTP/3 и исправления ошибок

Сообщение root:# »

Nginx 1.27.5: поддержка CUBIC для QUIC, оптимизация HTTP/3 и исправления ошибок
Представлен выпуск основной ветки nginx 1.27.5, в которой продолжается развитие новых возможностей. В параллельно поддерживаемую стабильную ветку 1.26.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.27.x будет сформирована стабильная ветка 1.28. Код проекта написан на языке Си и распространяется под лицензией BSD.

Среди изменений в nginx 1.27.5:
  • Для соединений, использующих протокол QUIC, добавлена поддержка алгоритма управления сетевой перегрузкой CUBIC (RFC 9438), работа которого сводится к постепенному увеличению размера окна перегрузки до появления потери пакетов, после чего размер окна откатывается на значение до начала потери. В проведённых тестах использование CUBIC позволило сократить время передачи файла размером 500МБ на 24% при задержках 40ms и BDP 750K (Bandwidth Delay Product) и на 73% при задержках 100ms и BDP 9M.
  • Максимальный размер кэшируемых в разделяемой памяти сеансов SSL увеличен до 8192. Налажена сборка с Си-библиотекой 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. Скрипты могут использоваться для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях. Изменения в njs 0.8.10:
  • В JavaScript-движок QuickJS добавлена поддержка API WebCrypto, TextEncoder и TextDecoder.
  • В движок QuickJS Добавлены новые модули querystring, crypto и xml.
  • Добавлена поддержка библиотеки QuickJS-NG.
  • В модуле к nginx реализовано чтение содержимого r.requestText и r.requestBuffer из временного файла.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63092