Nginx 1.25.5 және FreeNginx 1.26.0 шанышқысының жаңа нұсқалары

Nginx 1.25.5 негізгі тармағы шығарылды, оның аясында жаңа мүмкіндіктерді дамыту жалғасуда. Параллельді түрде жұмыс істейтін тұрақты тармақ 1.24.x тек елеулі қателер мен осалдықтарды жоюға қатысты өзгерістерді қамтиды. Болашақта 1.25.x негізгі тармағы негізінде тұрақты 1.26 тармағы қалыптасады. Жоба коды C тілінде жазылған және BSD лицензиясы бойынша таратылады.

Өзгерістердің ішінде:

  • Ағындық модульге виртуалды серверлерді қолдау қосылды, оның конфигурациясы server_name директивасы арқылы “server { ... }” блогында анықталған. сервер { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
  • Жаңа модуль ngx_stream_pass_module қосылды, ол алынған қосылымдарды http, ағын және пошта сияқты модульдермен байланысты кез келген тыңдау ұясына тікелей жіберуге арналған. ағын { сервер { тыңдау 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; өту 127.0.0.1:8000; } }
  • Ағын модулінің тыңдау директивасы “кейінге қалдырылған” (кейінге қалдырылған қабылдауды қосады), “accept_filter” (қабылдау функциясын шақыру алдында қолданылатын кіріс қосылым сүзгісі) және “setfib” (бағыттау кестесін орнату) параметрлерін қолдауды жүзеге асырады.
  • Кейбір архитектуралар үшін орталық процессор кэші мен жады арасында деректерді тасымалдау үшін пайдаланылатын блок өлшемін (кэш сызығы) анықтауға қолдау көрсетілді.
  • На системах 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

пікір қалдыру