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.

출처 : opennet.ru

코멘트를 추가