Выпуск 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 в прокси свързвания. Например, за добавяне на флаг "httponly" към Cookie „one“, а за всички останали флагове на 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 по обработка на заявки с помощта на скриптове в конфигурацията. Скриптовете могат да се използват в конфигурационния файл за определяне на разширена логика на обработка на заявки, създаване на конфигурация, динамично генериране на отговори, модификация на заявките/отговорите или бързо създаване на задни стени за решаване на проблеми в уеб приложенията. В новата версия:

  • Добавена е поддръжка на визуално разделяне на цифрите в числата (например, „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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster