The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новые версии nginx 1.27.5, форка FreeNginx 1.27.6 и JavaScript-модуля njs 0.8.10

17.04.2025 10:56

Представлен выпуск основной ветки 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-движков. Поддерживаются собственный движок njs, совместимый со спецификацией ECMAScript 2023, и движок QuickJS, созданный Фабрисом Белларом. 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 из временного файла.


  1. Главная ссылка к новости (https://mailman.nginx.org/pipe...)
  2. OpenNews: Обновления nginx 1.26.3 и 1.27.4 с устранением уязвимости, связанной с TLS
  3. OpenNews: Выпуск nginx 1.26.0 с поддержкой HTTP/3
  4. OpenNews: Представлен FreeNginx, форк Nginx, созданный из-за несогласия с политикой компании F5
  5. OpenNews: Выпуск Angie 1.9.0, форка Nginx
  6. OpenNews: Выпуск njs 0.4.0. Rambler отправил ходатайство о прекращении уголовного дела против Nginx
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63092-nginx
Ключевые слова: nginx, freenginx, njs
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 13:39, 17/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    >Код проекта написан на языке Си и распространяется под лицензией BSD.

    Правильный язык и правильная лицензия.

     
     
  • 2.3, Аноним (3), 13:49, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это жк "истинно" свободная. А правильная - это GPL.
     
     
  • 3.5, Аноним (5), 13:54, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для кого то свобода это свободное пиво, для кого-то это свобода слова.
     
     
  • 4.7, human (??), 14:26, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вы, наверно, имели ввиду "бесплатное пиво".
     
  • 4.18, _ (??), 18:28, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > для кого-то это свобода слова.

    GPL - cвобода болтать!(C)

    А вот диды искали свободу делать ... ;-)
    Но ну их на пензию!

     
     
  • 5.22, Аноним (-), 18:39, 17/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.43, Аноним (43), 22:40, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, именно свободное. Что бы понять, каким пиво бывает не свободное - велком ту Дубай.
     
  • 2.30, Аноним (30), 22:27, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема BSD лицензии в том, что она не гарантирует, что лицензию на продукт внезапно изменят и исходники закроют. GPL гарантирует, что проект останется открытым. Я раньше тоже думал, что BSD, MIT и прочие permissive - хорошие лицензии. Но сколько проектов с ними полегло. На днях "свободные" под MIT проекты AutoMapper и MediatR стали коммерческими.
     
     
  • 3.32, Аноним (32), 22:44, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Гарантируя что-либо, ты отнимаешь у кого-то свободу. Гарантии GPL работают, отнимая свободу у разрабов закрывать код. Да, им такая свобода важна. А нужна ли пользователям свобода смотреть исходники? Узнай сам: опроси людей на улице, и увидишь, что им плевать, что у них нет исходников вантуза.

    Таким образом, GPL работает противоестественно: он дает пользователям свободу, которая им не важна, отнимая у разрабов свободу, которая им важна. MIT/BSD работают наоборот, и потому естественны. Иными словами, при прочих равных, разработчик выберет пермиссивную библиотеку, а не копилефтную. Потому что с копилефтной идет несвобода: "закрывать код нельзя". Именно поэтому копилефт уходит в историю, а пермиссив процветает.

    Надеюсь внятно объяснил. Все твои претензии будут исходить из идеалов, а не из "реалий на земле". Напомню реалии: разрабы хотят закрывать исходники, а пользователи исходники читать не хотят. Вот и все.

     
     
  • 4.42, Аноним (42), 19:39, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    дада, капитализм естественнен.
    тьху.
     
  • 4.46, нах. (?), 07:20, 21/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Узнай сам: опроси людей на улице, и увидишь, что им плевать, что у них нет исходников
    > вантуза.

    все еще хуже - - А для чего нужны стигматы святой Терезе? Они ведь ей тоже не нужны. Но они ей желанны.

    Опроси не людей на улице, они ни в чем тебе не виноваты, а наиболее горластых с этого сайта, воющих во славу шва60дке, только не анонимно по интернетам, соврут недорого возьмут, а прищемив для начала разговора что-то дверью.
    "Ну-ка, покажи хоть один байтик что ты наизменял в шва60дкином софте, или хотя бы - что вообще сумел для себя, хотя бы, не говоря об окружающих, полезного получить, глядя в шва60дкиный код?"

    Ответом в 100% случаев будет писк, мычание и "дядинька отпустити ейцы". Т.е. шва6000дка и им тоже ни для чего не нужна. Она им "желанна". Святая вера и вот всьо такоэ.

    Те кто на самом деле что-то где-то могут поменять хотя бы в совсем тривиальных случаях -  вообще не интересуются какая там лицензия и тем более уж не боятся что "ужасная сони украдет мой кот". (И, кстати, всегда рады бы были вовсе чужую работу не переделывать - им и своей хватает.)

     
  • 3.34, YetAnotherOnanym (ok), 08:25, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Глупости. Код, уже выпущенный под BSD, не может быть отозван, то же самое относится и к GPL. И точно так же начать с какого-то момента выпускать новые версии кода под проприетарной лицензией может и бывший под-BSD-разработчик, и бывший под-GPL-разработчик.
     
     
  • 4.36, Аноним (36), 09:26, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, вы не правы. GPL не может быть перелицензирована на другую лицензию, кроме как другой версии GPL, например GPLv2 в GPLv2 можно. Возможно двойное лицензирование, но от GPL уже нельзя отказаться. Яркий пример - MySQL, где GPL версия всё ещё доступна.
     
  • 4.37, 1 (??), 09:36, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  Код, уже выпущенный под BSD, не может быть отозван

    Не может. Но может перелицензирован под GPL

     
  • 3.38, Аноним (38), 12:07, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > ...На днях "свободные" под MIT проекты AutoMapper и MediatR стали коммерческими.

    ???
    MediatR - лицензия остается Apache-2.0, файлу лицензии 11 лет
    AutoMapper - лицензия MIT и файл лицензии в проекте не менялся 7 лет

     
  • 3.44, Аноним (-), 00:20, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е.  Apache-2.0 тоже ведь может быть изменена?
     

  • 1.6, еропка (?), 14:22, 17/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Я запутался в форках - мне использовать Nginx, FreeNginx или Angie?
     
     
  • 2.8, Gentoo (?), 14:38, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Свой форк сделай.
     
  • 2.9, BorichL (ok), 15:07, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Попробуй использовать то, что написано после sudo apt-get install.
     
     
  • 3.11, нах. (?), 15:10, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Но у тебя там точка!
     
     
  • 4.12, BorichL (ok), 15:16, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Но у тебя там точка!

    А ты там не подсматривай, что у меня!

     
     
  • 5.20, _ (??), 18:31, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Просто до тебя считалось, что самый короткий - у меня :) ВотЪ: "_"

    А теперь я только на втором местеееееее :~~~~((((


    ;-DDDDD

     
  • 2.10, нах. (?), 15:09, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Да, в этой санта-барбаре разобраться уже невозможно. Я пока на апач вернулся, пусть они со своим Доном Хуаном сами разбираются.

     
     
  • 3.15, Аноним (15), 17:36, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для твоих 0.000001 rps действительно что сабж, что апач, что скрипт на баше — без разницы.
     
  • 2.19, Аноним (-), 18:29, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Я запутался в форках - мне использовать Nginx, FreeNginx или Angie?

    FreeNginx или Angie. Про Nginx можно забыть и забить.

     
  • 2.24, Ilya Indigo (ok), 19:15, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    openresty единственный вменяемый форк!
    Если ты даже не знаешь что это, значит оно тебе точно НЕ нужно, как и все форки!
    Используй nginx из репозитория своей ОС!
     
     
  • 3.27, Аноним (27), 21:18, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    "OpenResty® is not an Nginx fork." - написано на сайте openresty...

    А вообще это nginx с набором китайских патчей, которые не приняли в апстрим из-за их кривости.

     
  • 3.29, Аноним (-), 22:16, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошее сочетание - LuaJit и nginx
     

  • 1.14, Ivan_83 (ok), 15:55, 17/04/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +2 +/
     

  • 1.16, Аноним (-), 18:24, 17/04/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.23, Ilya Indigo (ok), 19:10, 17/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > работа которого сводится к постепенному увеличению размера окна перегрузки до появления потери пакетов, после чего размер окна откатывается на значение до начала потери.

    Разве TCP работает не схожим образом?

     
     
  • 2.25, Аноним (25), 20:43, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    у TCP есть фатальный недостаток
     
  • 2.28, Аноним (-), 22:09, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы хотите поспорить с rfc? Это странно. А в чем именно проблема?
     
     
  • 3.35, YetAnotherOnanym (ok), 08:28, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А где в коменте Ильи жалоба на проблему?
     
  • 2.31, Всем Анонимам Аноним (?), 22:31, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Во-во. Смысл QUIC именно в том, чтобы там не было древнего CUBIC. Не понятно как nginx реализовал QUIC, видимо сделали минимальную совместмость и теперь голову ломают.
     
     
  • 3.41, Ivan_83 (ok), 16:05, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так большинство линухов из коробки на CUBIC до сих пор :)

    nginx это всё скорее всего реализовал так чтобы оно по быстрее заработало - это не совсем их профиль.
    По хорошему авторы QUIC должны были выкатить и поддерживать референсную реализацию на С, чтобы каждый не пилил отдельно свою реализацию со своими особенностями.

     
     
  • 4.45, Аноним (-), 00:14, 20/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > По хорошему авторы QUIC должны были выкатить и поддерживать референсную реализацию на С, чтобы каждый не пилил отдельно свою реализацию со своими особенностями.

    Ещё один позор - ожидание когда американская оборонка будет финансировать реализацию QUIC. Откуда вы такие беретесь?

     
  • 2.40, Ivan_83 (ok), 16:01, 18/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не совсем.
    У современного TCP есть разные алгоритмы контроля перегрузки (CC), и туда сливается довольно много всяких данных на основе которых они принимают решения.
    Помимо CC есть ещё всякие расширения для самого TCP которые тоже для скорости делали.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру