- Добавлен 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).
Источник: http://www.opennet.ru/opennews/art.shtml?num=66201
