nginx 1.25.5 およびフォーク FreeNginx 1.26.0 の新しいバージョン

nginx 1.25.5 のメイン ブランチがリリースされ、その中で新機能の開発が続けられています。 並行して維持される安定版ブランチ 1.24.x には、重大なバグと脆弱性の排除に関連する変更のみが含まれています。 将来的には、メイン ブランチ 1.25.x に基づいて、安定版ブランチ 1.26 が形成される予定です。 プロジェクト コードは C で書かれており、BSD ライセンスに基づいて配布されます。

変更点としては次のとおりです。

  • В модуль 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.

出所: オープンネット.ru

コメントを追加します