Выпуск nginx 1.23.1 и njs 0.7.6

Сформирован выпуск основной ветки nginx 1.23.1, в рамках которой продолжается развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.22.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В следующем году на базе основной ветки 1.23.x будет сформирована стабильная ветка 1.24.

Среди изменений:

  • Проведена оптимизация потребления памяти в конфигурациях в проксированием SSL.
  • В директиву «resolver» добавлен параметр «ipv4=off», позволяющий отключить поиск IPv4-адресов при преобразовании имён и адреса.
  • Уровень логов для ошибок SSL «bad key share», «bad extension»,
    «bad cipher» и «bad ecpoint» понижен с критического до информационного.

  • Устранена ошибка, из-за которой при возврате диапазонов nginx не удалял строку заголовка»Content-Range», если она присутствовала в исходном ответе бэкенда.
  • Устранена ошибка, приводившая к тому, что проксированный ответ мог быть отправлен не полностью при
    переконфигурации на Linux.

Одновременно состоялся выпуск njs 0.7.6, интерпретатора языка JavaScript для веб-сервера nginx. Интерпретатор njs реализует стандарты ECMAScript и позволяет расширять возможности nginx по обработке запросов с помощью скриптов в конфигурации. Скрипты могут использоваться в файле конфигурации для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях.

В новой версии расширены возможности объекта r.args{}: добавлена поддержка указания нескольких аргументов одному ключу и разделения ключей по регистру символов. Реализованы методы Symbol.for(), Symbol.keyfor(), atob() и btoa().

Источник: http://www.opennet.ru/opennews/art.shtml?num=57525