Wydanie nginx 1.19.3 i njs 0.4.4

Uformowane wydanie głównej gałęzi nginx 1.19.3, w ramach której kontynuowany jest rozwój nowych możliwości (w równolegle wspieranej stabilnej gałęzi 1.18 wprowadzane są tylko zmiany związane z eliminacją poważnych błędów i luk w zabezpieczeniach).

Podstawowe zmiany:

  • Moduł wprowadzono ngx_stream_set_module, który umożliwia przypisanie wartości zmiennej

    server {
    listen 12345;
    set $true 1;
    }

  • Dodano dyrektywę proxy_cookie_flags do wskazania flag dla ciasteczek w połączeniach proxy. Na przykład, aby dodać do ciasteczka „one” flagę „httponly”, a do wszystkich pozostałych ciasteczek flagi „nosecure” i „samesite=strict”, można użyć konstrukcji:

    proxy_cookie_flags one httponly;
    proxy_cookie_flags ~ nosecure samesite=strict;

  • Podobna dyrektywa userid_flags do dodawania flag do ciasteczek wprowadzono również dla modułu ngx_http_userid.

Jednocześnie miał miejsce wydanie njs 0.4.4, interpretera języka JavaScript dla serwera web nginx. Interpreter njs wdraża standardy ECMAScript i pozwala na rozszerzanie możliwości nginx w zakresie przetwarzania żądań za pomocą skryptów w konfiguracji. Skrypty mogą być używane w pliku konfiguracyjnym do definiowania rozszerzonej logiki przetwarzania żądań, formowania konfiguracji, dynamicznego generowania odpowiedzi, modyfikacji żądania/odpowiedzi lub szybkiego tworzenia stubów w rozwiązywaniu problemów w aplikacjach webowych. W nowej wersji:

  • Dodano wsparcie dla wizualnego oddzielania cyfr w liczbach (np. „1_000”).
  • Wdrożono brakujące metody dla %TypedArray%.prototype: every(), filter(), find(), findIndex(), forEach(), includes(), indexOf(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), some().
  • Wdrożono brakujące metody dla %TypedArray%: from(), of().
  • Wdrożono obiekt DataView.

    : >> (new DataView(buf.buffer)).getUint16()
    : 32974

  • Wdrożono obiekt Buffer.

    : >> var buf = Buffer.from([0x80,206,177,206,178])
    : undefined
    : >> buf.slice(1).toString()
    : ‘αβ’
    : >> buf.toString(‘base64’)
    : ‘gM6xzrI=’

  • Wsparcie dla obiektu Buffer dodano w metodach „crypto” i „fs”, a także zapewniono zwracanie egzemplarza obiektu Buffer w fs.readFile(), Hash.prototype.digest() i Hmac.prototype.digest().
  • W metodzie TextDecoder.prototype.decode() dodano wsparcie dla ArrayBuffer.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster