Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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

Выпуск nginx 1.31.5 и njs 1.0.1

02.09.2026 23:01 (MSK)

Опубликован выпуск основной ветки nginx 1.31.5, в которой продолжается развитие новых возможностей. В параллельно поддерживаемую стабильную ветку 1.30.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В дальнейшем на базе основной ветки 1.31.x будет сформирована стабильная ветка 1.32. Код проекта написан на языке Си и распространяется под лицензией BSD.

В новом выпуске:

  • Добавлен Rest API для внешнего управления, позволяющий удалённо перезагружать конфигурацию, получать данные о настройках и просматривать статус рабочих процессов. Для включения поддержки API предусмотрена сборочная опция "--with-control-api" и аргумент командой строки "-l". Рекомендуется привязывать API к unix-сокету (nginx -l unix:/path/to/sock). Для обращения к API можно использовать утилиту Curl.
  • Добавлена возможность использования переменной, начинающейся с символа "$", в качестве значения директивы Location. Значение переменной, вычисленное в момент выполнения, определяет условия входа в блок Location. Подобные Location могут использоваться внутри других блоков Location или сами содержать вложенные Location.
    
       map $arg_foo $pred {
           bar  1;
           qux  1;
       }
       location $pred {
           root html;
       }
    
  • Реализован модуль ngx_http_json_module, предоставляющий возможности для разбора данных в формате JSON, извлечения отдельных полей из JSON и использования этих полей в качестве переменных в конфигурации nginx.
  • Добавлена директива "client_body_early_read", включение которой приводит к чтению тела запроса сразу после получения заголовков.

Одновременно доступен выпуск njs 1.0.1, модуля для интеграции интерпретатора языка JavaScript в http-сервер nginx. Njs позволяет использовать сценарии JavaScript в файлах конфигурации для расширения возможностей nginx. Скрипты могут использоваться для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответов, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях. Код проекта написан на Си и распространяется под лицензией BSD.

В выпуске njs 1.0.1 устранены три уязвимости: переполнение буфера в функции xml.exclusiveC14n (CVE-2026-78689),обход ограничения доступа через js_access (CVE-2026-18329) и вызов аварийного завершения рабочего процесса через манипуляции с ngx.fetch (CVE-2026-78222).

  1. Главная ссылка к новости (https://github.com/nginx/nginx...)
  2. OpenNews: Выпуск nginx 1.31.4
  3. OpenNews: Выпуск Angie 1.12.0, форка Nginx
  4. OpenNews: Обновление nginx 1.31.3 с устранением RCE-уязвимости
  5. OpenNews: Проект nginx опубликовал JavaScript-модуль njs 1.0.0
  6. OpenNews: В nginx выявлена вторая за 10 дней удалённо эксплуатируемая уязвимость
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66201-nginx
Ключевые слова: nginx
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, User (??), 07:44, 03/09/2026 [ответить]  
  • +/
    Ну, как будто бы со всех сторон опоздали уже. API'шка вот вроде бы появилась - но управлять конфигурацией с её помощью нельзя. Сама конфигурация так и осталась не шибко programmers-friendly, ни поменять удобно ни провалидировать нормально.
    njs прям по ссылке в новости - официальный труп. В общем, спасибо конечно - но задач раздачи-статики-вагонами у меня (уже) нет.
     
     
  • 2.2, Аноним (2), 08:12, 03/09/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    пытался я тут настроить caddy, в типовой конфигурация все действительно красиво, но как только понадобилось сделать шаг в сторону, она просто не умеет.
     
     
  • 3.5, User (??), 08:28, 03/09/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так никто ж не спорит. Правда по сравнению с индейцем и nginx-то не ахти мастак, да? Только эти "шаги-в-сторону" нужны сиииильно не всем и не всегда.
     
     
  • 4.10, Аноним (2), 12:58, 03/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    апач уже лет 20 не трогал и не вспоминал, и слава богу
     
  • 2.4, нах. (?), 08:26, 03/09/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну вроде статика с моего диска - никуда не девалась.
    А зачем без конца менять конфигурацию (ценой как обычно невозможности проверить, какая она была вот на тот момент времени и чем отличается сейчас) - понятия не имею.

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

    Впрочем, убогий acme модуль на безопастном йезычке радости тоже не добавляет.

    Пользуйтесь apache если вам нужно что-то кроме статики, чо.

     
     
  • 3.6, User (??), 08:51, 03/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > ну вроде статика с моего диска - никуда не девалась.

    Не, ну я тоже контейнеры с фронтендом пересобирать не бегу

    > А зачем без конца менять конфигурацию (ценой как обычно невозможности проверить, какая она была вот на тот момент времени и чем отличается сейчас) - понятия не имею.

    Ну, даже если не говорить о каких-нибудь ингрессах - у меня вот на dev'е caddy-docker-proxy стоит. с добавлением label чудо-бэкендеры справляются, а вот идея править nginx.conf в отдельной репе у них восторга почему-то не вызывала. Опять же, acme из коробочки без костылей и приседаний - плохо что ли? Да хорошо.

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

    Угу. Но вот кстати посмотри на haproxy - они configuration API, который преобразует нескучные json'ы во внутренний DSL я уж и не вспомню, сколько лет назад родили.

    > Пользуйтесь apache если вам нужно что-то кроме статики, чо.

    Да не, обычно envoy для всего хватает. Apache если и вижу - то в составе уже развернутых решений, которые работают настолько хорошо, что ни одному <censored> в голову не приходит вот взять - и УЛУЧШИТЬ!

     
  • 3.7, Аноним (7), 10:26, 03/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а с реверсным проксированием на http/fastcgi что не так? зачем там конфигурацию менять по два раза в день?

    вообще nginx изначально делался как static + reverse proxy, и эти обе две задачи он решает хорошо изначально. а application server из него делать не надо.

    ну, в современных реалиях адекватный acme module нужен ещё

     
     
  • 4.8, User (??), 10:53, 03/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > а с реверсным проксированием на http/fastcgi что не так? зачем там конфигурацию менять по два раза в день?

    А когда resolve в upstream в OSS версии появилась? Год назад? Два? А до того вот, ручками-ручками все.

     
  • 4.9, нах. (?), 11:31, 03/09/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > а с реверсным проксированием на http/fastcgi что не так?

    да вроде немодно уже ж давно.

    ну и с этим-то апач тоже прекрасно справится.

     

  • 1.3, Аноним (3), 08:24, 03/09/2026 [ответить]  
  • –1 +/
    В 2026 году им бы не фичи новые сомнительные придумывать и писать, а искать и латать дыры, которые мамкины хакеры с клодами наверняка уже нашли и мешками торгуют в даркнете
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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