Veröffentlichung von nginx 1.19.3 und njs 0.4.4

Erstellt Release der Hauptversion nginx 1.19.3, im Rahmen dessen die Entwicklung neuer Möglichkeiten fortgesetzt wird (in der parallel unterstĂŒtzten stabilen Zweig 1.18 Es werden nur Änderungen vorgenommen, die mit der Behebung schwerwiegender Fehler und SicherheitsanfĂ€lligkeiten zusammenhĂ€ngen.

Haupt- Änderungen:

  • Das Modul wurde hinzugefĂŒgt ngx_stream_set_module, das es ermöglicht, den Wert einer Variablen zuzuweisen

    server {
    listen 12345;
    set $true 1;
    }

  • Direktive hinzugefĂŒgt proxy_cookie_flags zur Angabe von Flags fĂŒr Cookies in proxied Verbindungen. Zum Beispiel, um dem Cookie „one“ das Flag „httponly“ hinzuzufĂŒgen, und fĂŒr alle anderen Cookies die Flags „nosecure“ und „samesite=strict“ kann die folgende Konstruktion verwendet werden:

    proxy_cookie_flags one httponly;
    proxy_cookie_flags ~ nosecure samesite=strict;

  • Eine Ă€hnliche Direktive userid_flags zum HinzufĂŒgen von Flags zu Cookies ist ebenfalls fĂŒr das Modul ngx_http_userid implementiert.

Gleichzeitig hat stattgefunden Release njs 0.4.4, einem Interpreteur fĂŒr die Programmiersprache JavaScript fĂŒr den Webserver nginx. Der Interpreteur njs setzt ECMAScript-Standards um und ermöglicht es, die FĂ€higkeiten von nginx zur Bearbeitung von Anfragen durch Skripte in der Konfiguration zu erweitern. Skripte können in der Konfigurationsdatei verwendet werden, um erweiterte Logik zur Bearbeitung von Anfragen zu definieren, die Konfiguration zu erstellen, dynamische Antworten zu generieren, Anfragen/Antworten zu modifizieren oder schnell Stubs zur Problemlösung in Web-Anwendungen zu erstellen. In der neuen Version:

  • UnterstĂŒtzung fĂŒr die visuelle Trennung von Ziffern in Zahlen hinzugefĂŒgt (zum Beispiel „1_000“).
  • Fehlende Methoden fĂŒr %TypedArray%.prototype implementiert: every(), filter(), find(), findIndex(), forEach(), includes(), indexOf(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), some().
  • Fehlende Methoden fĂŒr %TypedArray%: from(), of().
  • Das Objekt DataView wurde implementiert.

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

  • Das Objekt Buffer wurde implementiert.

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

  • Die UnterstĂŒtzung des Objekts Buffer wurde in die Methoden „crypto“ und „fs“ integriert sowie sichergestellt, dass eine Instanz des Objekts Buffer in fs.readFile(), Hash.prototype.digest() und Hmac.prototype.digest() zurĂŒckgegeben wird.
  • In der Methode TextDecoder.prototype.decode() wurde die UnterstĂŒtzung fĂŒr ArrayBuffer hinzugefĂŒgt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4