Udgivelse af nginx 1.17.1 og njs 0.3.3

Ledig opstrøms udgivelse nginx xnumx, inden for hvilken udviklingen af ​​nye kapaciteter fortsætter (sideløbende understøttet stabil afdeling 1.16 Kun ændringer relateret til eliminering af alvorlige fejl og sårbarheder foretages.

The main ændringer:

  • Direktiv tilføjet limit_req_dry_run, som aktiverer prøvekørselstilstanden, hvor der ikke anvendes begrænsninger på intensiteten af ​​anmodningsbehandling (uden hastighedsgrænse), men fortsætter med at tage højde for antallet af anmodninger, der overskrider grænserne i delt hukommelse;
  • Når du bruger "upstream"-direktivet i "upstream"-indstillingsblokkenhash» for at organisere belastningsbalancering med klient-server-binding, hvis du angiver en tom nøgleværdi, er den ensartede balanceringstilstand (round-robin) nu aktiveret;
  • Rettede et workflownedbrud ved brug af cachen i kombination med "image_filter"-direktivet og omdirigering af 415-fejlkodebehandleren ved hjælp af "error_page"-direktivet;
  • Rettede et workflownedbrud, der opstod ved brug af den indbyggede Perl-fortolker.

Derudover kan det bemærkes emne njs 0.3.3, en JavaScript-fortolker til nginx-webserveren. njs-fortolkeren implementerer ECMAScript-standarder og giver dig mulighed for at udvide nginx's evne til at behandle anmodninger ved hjælp af scripts i konfigurationen. Scripts kan bruges i en konfigurationsfil til at definere avanceret logik til behandling af anmodninger, generering af en konfiguration, dynamisk generering af et svar, ændring af en anmodning/svar eller hurtigt oprettelse af stubs til at løse problemer i webapplikationer.

Den nye udgivelse af njs løser problemer identificeret under fuzzing test. Implementerede en global variabel "proces" med parametre og miljøvariabler for den aktuelle proces (process.pid, process.env.HOME osv.). Alle indbyggede egenskaber og metoder kan skrives til. Tilføjet implementering af Array.prototype.fill(). Understøttelse af syntaksen foreslået i ECMAScript 5 er blevet implementeret getters и setter at binde en objektegenskab til en funktion, for eksempel:

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

Kilde: opennet.ru

Tilføj en kommentar