Выпуск nginx 1.21.2 и njs 0.6.2

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

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

  • Обеспечена блокировка запросов HTTP/1.0, включающих HTTP-заголовок «Transfer-Encoding» (появился в версии протокола HTTP/1.1).
  • Прекращена поддержка экспортного набора шифров.
  • Обеспечена совместимость с библиотекой OpenSSL 3.0.
  • Реализована передача заголовков «Auth-SSL-Protocol» и «Auth-SSL-Cipher» серверу аутентификации почтового прокси.

  • В API фильтрации тела запроса разрешена буферизация обрабатываемых данных.

  • При загрузке сертификатов сервера налажено использование уровней безопасности, поддерживаемых начиная с OpenSSL 1.1.0 и задаваемых через параметр »@SECLEVEL=N» в директиве ssl_ciphers.

  • Устранены зависания, проявляющиеся при создании SSL-соединения к бэкендам в модулях stream и gRPC.

  • Решена проблема с записью на диск тела запроса при использовании HTTP/2, в случае отсутствия в запросе заголовка «Content-Length».

Одновременно состоялся выпуск njs 0.6.2, интерпретатора языка JavaScript для веб-сервера nginx. Интерпретатор njs реализует стандарты ECMAScript и позволяет расширять возможности nginx по обработке запросов с помощью скриптов в конфигурации. Скрипты могут использоваться в файле конфигурации для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях. В новой версии в реализацию Promise добавлены методы Promise.all (), Promise.allSettled (), Promise.any () и Promise.race (). Реализована поддержка объекта AggregateError.



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

© OpenNet