Keluaran nginx 1.19.3 dan njs 0.4.4

Terbentuk pelepasan huluan nginx 1.19.3, di mana pembangunan keupayaan baharu berterusan (secara selari disokong stabil cawangan 1.18 Hanya perubahan yang berkaitan dengan penghapusan ralat dan kelemahan yang serius dibuat).

Utama perubahan:

  • Modul disertakan ngx_stream_set_module, yang membolehkan anda memberikan nilai kepada pembolehubah

    pelayan {
    mendengar 12345;
    tetapkan $true 1;
    }

  • Arahan ditambah proxy_cookie_flags untuk menentukan bendera untuk Kuki dalam sambungan proksi. Contohnya, untuk menambah bendera "httponly" pada Cookie "one", dan bendera "nosecure" dan "samesite=strict" untuk semua Cookies lain, anda boleh menggunakan binaan berikut:

    proxy_cookie_flags satu http sahaja;
    proxy_cookie_flags ~ nosecure samesite=strict;

  • Arahan yang serupa userid_flags untuk menambah bendera pada Cookie juga dilaksanakan untuk modul ngx_http_userid.

Serentak mengambil tempat pelepasan njs 0.4.4, jurubahasa JavaScript untuk pelayan web nginx. Jurubahasa njs melaksanakan piawaian ECMAScript dan membolehkan anda mengembangkan keupayaan nginx untuk memproses permintaan menggunakan skrip dalam konfigurasi. Skrip boleh digunakan dalam fail konfigurasi untuk mentakrif logik lanjutan untuk memproses permintaan, menjana konfigurasi, menjana respons secara dinamik, mengubah suai permintaan/tindak balas, atau mencipta stub dengan cepat untuk menyelesaikan masalah dalam aplikasi web. Dalam versi baharu:

  • Menambah sokongan untuk pemisahan visual digit dalam nombor (contohnya, "1_000").
  • Kaedah yang tiada dilaksanakan untuk %TypedArray%.prototaip: every(), filter(), find(), findIndex(), forEach(), includes(), indexOf(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), some().
  • Melaksanakan kaedah yang hilang untuk %TypedArray%: from(), of().
  • Objek DataView yang dilaksanakan.

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

  • Objek Penampan yang dilaksanakan.

    : >> var buf = Buffer.from([0x80,206,177,206,178])
    : tidak ditentukan
    : >> buf.slice(1).toString()
    : 'Ξ±Ξ²'
    : >> buf.toString('base64')
    : 'gM6xzrI='

  • Menambahkan sokongan objek Buffer pada kaedah "crypto" dan "fs", dan memastikan bahawa fs.readFile(), Hash.prototype.digest() dan Hmac.prototype.digest() mengembalikan tika objek Buffer.
  • Sokongan ArrayBuffer telah ditambahkan pada kaedah TextDecoder.prototype.decode().

Sumber: opennet.ru

Tambah komen