Выпуск 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.

Источник: opennet.ru

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