De belangrijkste release van nginx 1.21.2 is vastgesteld, waarin de ontwikkeling van nieuwe mogelijkheden doorgaat (in de parallel ondersteunde stabiele tak 1.20 worden alleen wijzigingen aangebracht die verband houden met het verhelpen van ernstige fouten en kwetsbaarheden).
Belangrijkste wijzigingen:
- Blootstelling van HTTP/1.0-aanvragen met de HTTP-header "Transfer-Encoding" is geblokkeerd (die is geïntroduceerd in de versie van het HTTP/1.1-protocol).
- Ondersteuning voor de exportverzameling van versleutelingen is beëindigd.
- Compatibiliteit met OpenSSL 3.0 is gegarandeerd.
- Verzending van de headers "Auth-SSL-Protocol" en "Auth-SSL-Cipher" naar de authenticatieserver van de mailproxy is geïmplementeerd.
- In de API voor filtering van het aanvraaglichaam is buffering van verwerkte gegevens toegestaan.
- Bij het uploaden van servercertificaten is het gebruik van beveiligingsniveaus, ondersteund vanaf OpenSSL 1.1.0 en ingesteld via de parameter "@SECLEVEL=N" in de ssl_ciphers-richtlijn, opgezet.
- Hangs, die zich voordeden bij het aanmaken van SSL-verbindingen naar backends in de stream- en gRPC-modules, zijn opgelost.
- Het probleem met het wegschrijven naar schijf van het aanvraaglichaam bij het gebruik van HTTP/2, afwezig in gevallen waar de header "Content-Length" in de aanvraag ontbreekt, is opgelost.
Tegelijkertijd vond de release van njs 0.6.2 plaats, de JavaScript-interpreter voor webserver nginx. De njs-interpreter implementeert de ECMAScript-standaarden en stelt nginx in staat om verzoeken uit te breiden door scripts in de configuratie. Scripts kunnen worden gebruikt in het configuratiebestand om uitgebreidere logica voor verzoekverwerking te definiëren, configuraties te vormen, dynamisch reacties te genereren, aanvragen/reacties te wijzigen of snel stubben te creëren voor oplossingen voor problemen in webapplicaties. In de nieuwe versie zijn methoden toegevoegd aan de implementatie van Promise: Promise.all(), Promise.allSettled(), Promise.any() en Promise.race(). Ondersteuning voor het object AggregateError is geïmplementeerd.
Bron: opennet.ru
