Выпуск nginx 1.19.3 и njs 0.4.4

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

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

  • В состав включён модуль ngx_stream_set_module, позволяющий присвоить значение переменной
          server {          listen 12345;          set    $true 1;      }  
  • Добавлена директива proxy_cookie_flags для указания флагов для Cookie в проксируемых соединениях. Например, для добавления к Cookie «one» флага «httponly», а для всех остальных Cookie флагов «nosecure» и «samesite=strict» можно использовать конструкцию:
          proxy_cookie_flags one httponly;      proxy_cookie_flags ~ nosecure samesite=strict;  
  • Похожая директива userid_flags для добавления флагов к Cookie также реализована для модуля ngx_http_userid.

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

  • Добавлена поддержка наглядного разделения цифр в числах (например,»1,000»).
  • Реализованы недостающие методы для %TypedArray%.prototype: every (), filter (), find (), findIndex (), forEach (), includes (), indexOf (), lastIndexOf (), map (), reduce (), reduceRight (), reverse (), some ().
  • Реализованы недостающие методы для %TypedArray%: from (), of ().
  • Реализован объект DataView.
         : ›› (new DataView(buf.buffer)).getUint16()     : 32974  
  • Реализован объект Buffer.
         : ›› var buf = Buffer.from([0x80,206,177,206,178])     : undefined     : ›› buf.slice(1).toString()     : 'αβ'     : ›› buf.toString('base64')     : 'gM6xzrI='  
  • Поддержка объекта Buffer добавлена в методы «crypto» и «fs», а также обеспечено возвращения экземпляра объекта Buffer в fs.readFile (), Hash.prototype.digest () и Hmac.prototype.digest ().
  • В методе TextDecoder.prototype.decode () добавлена поддержка ArrayBuffer.



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

© OpenNet