Ngaleupaskeun nginx 1.19.7, njs 0.5.1 sareng NGINX Unit 1.22.0

Cabang utama nginx 1.19.7 geus dileupaskeun, dina nu ngembangkeun fitur anyar terus (dina paralel dirojong cabang stabil 1.18, ngan parobahan patali ngaleungitkeun kasalahan serius tur vulnerabilities dijieun).

Parobahan utama:

  • Nalika hiji prosés worker béak sambungan gratis, nginx ayeuna henteu ngan ukur nutup sambungan keepalive, tapi ogé sambungan dina kaayaan lingering close.
  • Kode penanganan sambungan HTTP/2 parantos dideukeutkeun kana implementasi HTTP/1.x. Dukungan pikeun setélan individu "http2_recv_timeout," "http2_idle_timeout," sareng "http2_max_requests" parantos dihentikeun sareng diganti ku arahan umum "keepalive_timeout" sareng "keepalive_requests."
  • Setélan "http2_max_field_size" sareng "http2_max_header_size" parantos dihapus, sareng "large_client_header_buffers" anu kedah dianggo.

Dina waktos anu sami, njs 0.5.1, hiji juru basa JavaScript pikeun pangladén wéb nginx. Interpreter njs nerapkeun standar ECMAScript sareng ngamungkinkeun anjeun pikeun manjangkeun kamampuan pamrosésan pamundut nginx nganggo skrip konfigurasi. Skrip tiasa dianggo dina file konfigurasi pikeun nangtukeun logika pamrosésan pamundut canggih, ngahasilkeun konfigurasi, ngahasilkeun réspon sacara dinamis, ngarobih pamundut/réspon, atanapi gancang nyiptakeun rintisan pikeun ngarengsekeun masalah dina aplikasi wéb.

Versi anyar nambihan diréktif "js_header_filter", anu ngamungkinkeun anjeun pikeun nangtukeun fungsi JavaScript pikeun nyaring sareng ngarobih header réspon anu teu dihoyongkeun: js_import foo.js; location / { js_header_filter foo.filter; proxy_pass http://127.0.0.1:8081/; } foo.js: function filter(r) { var cookies = r.headersOut['Set-Cookie']; var len = r.args.len ? Number(r.args.len) : 0; r.headersOut['Set-Cookie'] = cookies.filter(v=>v.length > len); } export default {filter};

Métode ngx.fetch() ogé parantos ditambahkeun, anu ngalaksanakeun Fetch API, anu nyayogikeun fungsi klien HTTP. Métode ieu ngadukung pilihan awak, header, buffer_size, sareng max_response_body_size. Objek Response anu dipulangkeun ngadukung metode arrayBuffer(), bodyUsed, json(), headers, ok, redirect, status, statusText, text(), type, sareng url, sareng objek Header ngadukung metode get(), getAll(), sareng has(). function fetch(r) { ngx.fetch('http://nginx.org/') .then(reply => reply.text()) .then(body => r.return(200, body)) .catch(e => r.return(501, e.message)); }

Anjeun ogé tiasa nandaan publikasi éta sérver NGINX Unit 1.22, solusi pikeun ngajalankeun aplikasi wéb anu ditulis dina rupa-rupa basa pamrograman (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js, sareng Java). Unit NGINX tiasa ngajalankeun sababaraha aplikasi anu ditulis dina basa anu béda sacara babarengan, sareng parameter peluncuranna tiasa dirobih sacara dinamis tanpa kedah ngédit file konfigurasi atanapi ngamimitian deui. Kodeu ieu ditulis dina C sareng dilisensikeun dina lisénsi Apache 2.0.

Rilis Unit NGINX anu énggal museur kana ningkatkeun stabilitas, ngalegaan kamampuan uji coba, sareng ngalereskeun bug. Linux Pangguna sareng grup anu dijalankeun ku Unit NGINX dina pakét parantos dirobih. Gantina nobody:nobody, prosés ayeuna dijalankeun dina pangguna anu misah anu dingaranan unit dina grup unit. Kompatibilitas sareng Stream API pikeun objék ServerRequest sareng ServerResponse tina modul Node.js parantos dijamin. Sababaraha diréktori ayeuna tiasa ditangtukeun dina pilihan "jalur" pikeun aplikasi Python.

sumber: opennet.ru

Mésér hosting anu dipercaya pikeun situs anu gaduh panyalindungan DDoS, server VPS VDS 🔥 Meser hosting situs wéb anu tiasa dipercaya nganggo panyalindungan DDoS, server VPS VDS | ProHoster