Сформирован выпуск основной ветки nginx 1.25.5, в рамках которой продолжается развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.24.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.25.x будет сформирована стабильная ветка 1.26. Код проекта написан на языке Си и распространяется под лицензией 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.