24.09.2020

Выпуск nginx 1.19.2 и njs 0.4.3


Сформирован выпуск основной ветки nginx 1.19.2, в рамках которой продолжается развитие новых возможностей (в параллельно поддерживаемой стабильной ветке 1.18 вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей).

Основные изменения:

  • Keepalive-соединения теперь начинают закрываться до исчерпания всех доступных соединений, а в логе отражаются соответствующие предупреждения.
  • При использовании chunked-передачи реализована оптимизация чтения тела запроса клиента.
  • Устранена утечка памяти, проявляющаяся при использовании директивы «ssl_ocsp».
  • Исправлена появившаяся в прошлом выпуске проблема с выводов в лог сообщений «zero size buf in output» при возвращении некорректного ответа сервером FastCGI.
  • Устранён крах рабочего процесса, возникающий в случае установки различного размера large_client_header_buffers в разных виртуальных серверах.
  • Решена проблема с некорректным завершением SSL-соединений и выводом в лог предупреждений «SSL_shutdown() failed (SSL: … bad write retry)».
  • Исправлены ошибки в модулях ngx_http_slice_module и ngx_http_xslt_filter_module.

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

  • Добавлен модуль Query String с функциями для разбора строки с параметрами HTTP-запроса.
  • В функциях fs.mkdir() и fs.rmdir() появилась поддержка рекурсивного создания и удаления каталогов.
  • Добавлен декодировщик UTF-8.
  • Реализована поддержка TextEncoder и TextDecoder для преобразования между кодами символов и их Unicode-представлением. (например: «(new TextDecoder()).decode(new Uint8Array([206,177,206,178]))».

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

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