Release van nginx 1.17.1 en njs 0.3.3

Beschikbaar uitgave van de hoofdtak nginx 1.17.1, waarin de ontwikkeling van nieuwe mogelijkheden doorgaat (in de parallel ondersteunde stabiele tak 1.16 enkel wijzigingen met betrekking tot het verhelpen van ernstige fouten en kwetsbaarheden worden aangebracht.

Belangrijkste wijzigingen:

  • Nieuwe richtlijn toegevoegd limit_req_dry_run, die de proefmodus activeert waarin er geen beperkingen gelden voor de verwerkingsintensiteit van verzoeken (zonder rate limit), maar het aantal verzoeken dat buiten de limieten valt nog steeds wordt geregistreerd in het gedeeld geheugen;
  • Bij gebruik in de upstream-configuratie van de instructie «hash» voor load balancing met cliëntbinding aan de server, wordt nu bij opgave van een lege sleutel de gelijkmatige load balancing (round-robin) geactiveerd;
  • De crash van de werkprocessen is verholpen bij het gebruik van de cache in combinatie met de instructie «image_filter» en het omleiden van de foutcode 415 met behulp van de instructie «error_page»;
  • De crash van de werkprocessen die zich voordeed bij het gebruik van de ingebouwde Perl-interpreter is verholpen.

Daarnaast kan worden vermeld lancering njs 0.3.3, de JavaScript-interpreter voor de webserver nginx. De njs-interpreter implementeert de ECMAScript-standaarden en maakt het mogelijk om de mogelijkheden van nginx uit te breiden voor het verwerken van verzoeken met scripts in de configuratie. Scripts kunnen in het configuratiebestand worden gebruikt om uitgebreide logica voor verzoekverwerking, configuratiebepaling, dynamische antwoordgeneratie, verzoek-/antwoordwijziging of snelle aanmaak van stubs ter oplossing van problemen in webapplicaties te definiëren.

In de nieuwe versie van njs zijn problemen opgelost die tijdens fuzzing-tests zijn geïdentificeerd. Er is een globale variabele «process» geïmplementeerd met parameters en omgevingsvariabelen van het huidige proces (process.pid, process.env.HOME, enz.). Schrijven naar alle ingebouwde eigenschappen en methoden is mogelijk gemaakt. De implementatie van Array.prototype.fill() is toegevoegd. Ondersteuning voor de in ECMAScript 5 voorgestelde syntaxis is geïmplementeerd. getter en setter voor het koppelings van een objecteigenschap aan een functie, bijvoorbeeld:

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

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster