Udgivelse af nginx 1.25.3, njs 0.8.2 og NGINX Unit 1.31.1

Der primære gren af nginx 1.25.3 er blevet frigivet, hvor udviklingen af nye muligheder fortsætter. I den parallelt understøttede stabile gren 1.24.x foretages der kun ændringer relateret til udbedring af alvorlige fejl og sårbarheder. Fremadrettet vil der på grundlag af den primære gren 1.25.x blive dannet en stabil gren 1.26. Projektkoden er skrevet i C og distribueres under BSD-licensen.

Blandt ændringerne:

  • Beskyttelsen mod anomaliaktiviteter fra HTTP/2-kunder er blevet styrket, især mod DoS-angreb af typen "Rapid Reset", hvor et stort antal forbindelser straks nulstilles inden for én HTTP/2-forbindelse. I standardkonfigurationen er sådanne angreb begrænset af antallet af anmodninger pr. forbindelsesanmodning "keepalive_requests" (efter hver 1000 anmodninger vil forbindelsen blive nulstillet) samt af begrænsningerne "limit_req". For at reagere hurtigere på oversvømning af anmodninger via et stort antal forbindelser er der tilføjet en ekstra grænse, der forhindrer oprettelse af mere end 256 (2 * max_concurrent_streams) nye forbindelser pr. begivenhedscyklus som standard. Den nye grænse muliggør at begynde at blokere anmodninger før det samlede maksimum for antallet af samtidige forbindelser er nået, f.eks. når forbindelserne behandles asynkront eller nulstilles. En lignende ændring blev også inkluderet i udgivelsen af angie 1.3.1 (en fork af nginx), som blev offentliggjort for en uge siden.
  • Forbedret håndtering af buffere, der bruges ved automatisk at identificere HTTP/2-forbindelser.
  • Ydelsen ved opstart af konfigurationer med mange "location" direktiver er forbedret.
  • Problemer med nedbrud af arbejdsprocessen er blevet løst, som observeret ved forsøg på at bruge HTTP/2 uden. SSL.
  • Fejl i behandlingen af den returheader "Status" fra backend med tom forklarende tekst er blevet rettet.
  • Der er rettet en hukommelseslækage under rekonfiguration, som opstår ved kompilering med PCRE2-biblioteket.
  • Der er foretaget en betydelig mængde reparationer og forbedringer relateret til understøttelsen af HTTP/3-protokollen.

Samtidigt blev njs 0.8.2, en JavaScript-interpretator, også frigivet. webserver nginx. Njs-interpretatoren implementerer ECMAScript-standarder og giver mulighed for at udvide nginx's evner til at behandle anmodninger ved hjælp af scripts i konfigurationen. Scripts kan anvendes i konfigurationsfilen til at definere avanceret logik til behandling af anmodninger, oprette konfigurationer, dynamisk generere svar, ændre anmodninger/svar eller hurtigt oprette stubbe til fejlretning i webapplikationer. I den nye version er der tilføjet et console-objekt, der tilbyder metoderne error(), info(), log(), time(), timeEnd() og warn(). I fs-modulet er der tilføjet metoden fs.existsSync().

Der kan også nævnes udgivelsen af applikationsserveren NGINX Unit 1.31.1, som tilbyder en løsning til at køre webapplikationer på forskellige programmeringssprog (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js og Java). Under ledelse af NGINX Unit kan flere applikationer på forskellige programmeringssprog køre samtidig, hvor opstartparametrene kan ændres dynamisk uden behov for at redigere konfigurationsfiler og genstarte. Udover fejlrettelser i den nye version er det i Wasm-modulet tilladt at indlæse data, der er større end 4 GB, og ved svar er der mulighed for at indstille HTTP-statuskoder.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster