Ngaleupaskeun nginx 1.17.1 jeung njs 0.3.3

Aya ngaleupaskeun hulu nginx 1.17.1, di mana ngembangkeun kamampuhan anyar terus (dina paralel didukung stabil cabang 1.16 Ngan parobahan anu aya hubunganana sareng ngaleungitkeun kasalahan serius sareng kerentanan anu dilakukeun.

utama parobahan:

  • Diréktif ditambahkeun limit_req_dry_run, nu ngaktifkeun mode trial run, nu euweuh larangan anu dilarapkeun dina inténsitas processing pamundut (tanpa wates laju), tapi terus tumut kana akun jumlah requests ngaleuwihan wates dina memori dibagikeun;
  • Nalika nganggo diréktif "hulu" dina blok setélan "hulu".Hash» pikeun ngatur kasaimbangan beban sareng ngariung klien-server, upami anjeun netepkeun nilai konci kosong, mode balancing seragam (round-robin) ayeuna diaktipkeun;
  • Ngalereskeun kacilakaan alur kerja nalika nganggo cache dina kombinasi sareng diréktif "image_filter" sareng alihan panangan kode kasalahan 415 nganggo diréktif "error_page";
  • Ngalereskeun kacilakaan alur kerja anu lumangsung nalika nganggo panganteur Perl anu diwangun.

Sajaba ti éta, bisa dicatet ngabebaskeun njs 0.3.3, juru basa JavaScript pikeun pangladén wéb nginx. Juru njs ngalaksanakeun standar ECMAScript sareng ngamungkinkeun anjeun ngalegaan kamampuan nginx pikeun ngolah pamundut nganggo skrip dina konfigurasi. Skrip tiasa dianggo dina file konfigurasi pikeun ngartikeun logika canggih pikeun ngolah pamundut, ngahasilkeun konfigurasi, dinamis ngahasilkeun réspon, ngarobih pamundut/réspon, atanapi gancang-gancang nyiptakeun stub pikeun ngarengsekeun masalah dina aplikasi wéb.

Pelepasan anyar njs ngalereskeun masalah anu diidentifikasi nalika tés fuzzing. Dilaksanakeun "prosés" variabel global kalayan parameter sareng variabel lingkungan tina prosés ayeuna (process.pid, process.env.HOME, jsb.). Sadaya sipat sareng metode anu diwangun tiasa diserat. Ditambahkeun palaksanaan Array.prototype.fill (). Rojongan pikeun sintaksis anu diajukeun dina ECMAScript 5 parantos dilaksanakeun getters и setter pikeun ngabeungkeut sipat obyék kana hiji fungsi, contona:

var o = {a:2};
Object.defineProperty (o, 'b', {meunang: fungsi () {balik 2 * ieu.a}});

sumber: opennet.ru

Tambahkeun komentar