Udgivelsen af hovedversionen nginx 1.25.5 er blevet dannet, hvori udviklingen af nye funktioner fortsætter. I den samtidig understøttede stabile version 1.24.x foretages der kun ændringer relateret til afhjælpning af alvorlige fejl og sårbarheder. Fremover vil en stabil version 1.26 blive dannet på basis af hovedversionen 1.25.x. Projektkoden er skrevet i C og distribueres under BSD-licensen.
Blandt ændringerne:
- Modulet stream har fået support til virtuele servere, hvis konfiguration defineres i blokken «server { … }» ved hjælp af direktivet server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
- Et nyt modul ngx_stream_pass_module er blevet tilføjet, designet til at videregive modtagne forbindelser direkte til enhver lytter-socket, der er relateret til sådanne moduler som http, stream og mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
- I direktivet listen for modulet stream er der blevet implementeret støtte til parametrene «deferred» (aktiverer udsat accept), «accept_filter» (filter af indkommende forbindelser, anvendt før kaldet til accept-funktionen) og «setfib» (angivelse af routingtabel).
- For nogle arkitekturer er der implementeret støtte til bestemmelse af blokstørrelsen (cache line), der bruges til overførsel af data mellem CPU-cache og hukommelse.
- På Apple Silicon-systemer er der tilføjet støtte for package manageren Homebrew.
- Problemerne med kryds-kompilering for Windows er blevet løst.
- En fejl, der førte til lukning af forbindelser ved brug af 0-RTT tilstand i QUIC-protokollen, er blevet rettet.
Det er også værd at nævne udgivelsen af den stabile version af projektet FreeNginx 1.26.0, som udvikler en fork af Nginx. Udviklingen af forket ledes af Maksim Dunin, en af de nøgleudviklere af Nginx. FreeNginx positioneres som et non-profit projekt, der muliggør udviklingen af Nginx's kodebase uden virksomhedsinvolvering. Udgivelsen af 1.26.0 er markeret som en stabil udgivelse, der indeholder ændringer og rettelser fra hovedversionen Nginx 1.25. Blandt andet inkluderer FreeNginx 1.26.0 eksperimentel support for HTTP/3-protokollen, forbedringer til modstand mod DoS-angreb og rettelser relateret til asynkron I/O-behandling.
Samtidig fandt udgivelsen af njs 0.8.4, en interpreter for JavaScript-sproget, sted. webserver nginx. Njs-interpreter implementerer ECMAScript-standarder og muliggør udvidelse af nginx's evner til at håndtere anmodninger ved hjælp af scripts i konfigurationen. Scripts kan anvendes i konfigurationsfilen til at definere udvidet logik til håndtering af anmodninger, dannelse af konfiguration, dynamisk generering af svar, modifikation af anmodninger/svar eller hurtig oprettelse af stubber til løsning af problemer i webapplikationer. I den nye version: CLI har fået støtte til JavaScript-motoren QuickJS; mulighed for at sætte Server-header er tilføjet; implementeret kontrol for dubletter af variabler sat via js_set.
Kilde: opennet.ru
