Что нового в nginx 1.17.9 и njs?

Вышел выпуск nginx 1.17.9, в котором развивают новый функционал. Напомним: в стабильной ветке nginx 1.16 только исправляют ошибки и закрывают уязвимости.

Что нового?

  • Запрещено указание нескольких строк «Host» в заголовке запроса;
  • Исправлена ошибка, где nginx игнорировал дополнительные строки «Transfer-Encoding» в заголовке запроса;
  • Решена проблема утечки сокетов при использовании протокола HTTP/2;
  • Устранён крах (segmentation fault) рабочего процесса, проявляющийся при использовании OCSP stapling;
  • Внесены исправления в модуль ngx_http_mp4_module;
  • Решена проблема в случаях, когда при перенаправлении ошибок с кодом 494 с помощью директивы ‘error_page’ мог возвращаться ответ с кодом 494 вместо 400;
  • Устранены утечки сокетов при использовании подзапросов в модуле njs и директивы aio.

Ещё появился выпуск njs 0.3.9, интерпретатора языка JavaScript для веб-сервера nginx. В новом выпуске в модуле njs ​​добавлена поддержка режима открепленных запросов в r.subrequest(). Ответы на открепленные подзапросы игнорируются. В отличие от обычных подзапросов, открепленный подзапрос может быть создан внутри обработчика переменной. 

Какие изменения?

  • Добавлен API Promises для модуля «fs»;
  • В модуль «fs» добавлены функции access(), symlink(), unlink(), realpath() и подобные;
  • Введены эффективные с точки зрения потребления памяти обычные массивы;
  • Внесены улучшения в lexer;
  • Внесено исправление в сопоставление нативных функций в обратных трассировках (backtraces). следах;
  • Исправлены callback-вызовы в модуле «fs»;
  • Внесены исправления в Object.getOwnPropertySymbols();
  • Устранено переполнение буфера динамической памяти в njs_json_append_string();
  • Внесено исправление в encodeURI() и decodeURI() в соответствии со спецификацией;
  • Внесено исправление в Number.prototype.toPrecision();
  • Внесено исправление обработку аргумента пробела в JSON.stringify();
  • Внесено исправление в JSON.stringify() с объектами Number() и String();
  • Обеспечено экранирование символов Unicode в JSON.stringify() в соответствии со спецификацией;
  • Внесено исправление в импорт не родных модулей;
  • Внесено исправление в njs.dump() с экземпляром Date() в контейнере.

Добавить комментарий

Спасибо, что поделились