Lansarea nginx 1.17.1 și njs 0.3.3

Disponibil eliberarea ramurilor principale nginx 1.17.1, în cadrul căruia dezvoltarea de noi funcții continuă (într-un stabil suportat paralel ramura 1.16 Se fac doar modificări legate de eliminarea erorilor grave și a vulnerabilităților.

Principalul modificări:

  • A fost adăugată directiva limit_req_dry_run, care activează modul de rulare de probă, în care nu se aplică restricții asupra intensității procesării cererilor (fără limită de rate), dar continuă să țină cont de numărul de solicitări care depășesc limitele din memoria partajată;
  • Când utilizați directiva „upstream” în blocul de setări „upstream”.hașiș» pentru a organiza echilibrarea încărcăturii cu legarea client-server, dacă specificați o valoare de cheie goală, modul uniform de echilibrare (round-robin) este acum activat;
  • S-a remediat o blocare a fluxului de lucru la utilizarea memoriei cache în combinație cu directiva „image_filter” și la redirecționarea gestionarului de coduri de eroare 415 folosind directiva „error_page”;
  • S-a remediat o blocare a fluxului de lucru care a apărut la utilizarea interpretului Perl încorporat.

În plus, se poate observa emisiune njs 0.3.3, un interpret JavaScript pentru serverul web nginx. Interpretul njs implementează standardele ECMAScript și vă permite să extindeți capacitatea nginx de a procesa cereri folosind scripturi în configurație. Scripturile pot fi utilizate într-un fișier de configurare pentru a defini logica avansată pentru procesarea cererilor, generarea unei configurații, generarea dinamică a unui răspuns, modificarea unei cereri/răspuns sau crearea rapidă de stub-uri pentru a rezolva probleme în aplicațiile web.

Noua versiune a njs rezolvă problemele identificate în timpul testării fuzzing. Implementarea unei variabile globale „proces” cu parametrii și variabilele de mediu ale procesului curent (process.pid, process.env.HOME etc.). Toate proprietățile și metodele încorporate pot fi scrise. S-a adăugat implementarea Array.prototype.fill(). A fost implementat suportul pentru sintaxa propusă în ECMAScript 5 getters и instalator pentru a lega o proprietate a unui obiect la o funcție, de exemplu:

var o = {a:2};
Object.defineProperty(o, 'b', {get:function(){return 2*this.a}});

Sursa: opennet.ru

Adauga un comentariu