La version principale de nginx 1.25.5 a été publiée, dans laquelle le développement de nouvelles fonctionnalités se poursuit. Dans la branche stable 1.24.x, uniquement les modifications liées à la correction de bogues graves et de vulnérabilités sont apportées. à l'avenir, une branche stable 1.26 sera formée sur la base de la branche principale 1.25.x. Le code du projet est écrit en langage C et distribué sous licence BSD.
Parmi les changements :
- Le module de flux a ajouté le support serveurs virtuels, dont la configuration est définie dans le bloc «server { ⊠}» à l'aide de la directive server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
- Un nouveau module, ngx_stream_pass_module, a été ajouté pour acheminer les connexions reçues directement vers n'importe quel socket à l'écoute, lié à des modules tels que http, stream et mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
- Dans la directive listen du module stream, le support des paramÚtres «deferred» (active le accept différé), «accept_filter» (filtre des connexions entrantes appliqué avant l'appel de la fonction accept) et «setfib» (définition de la table de routage) a été implémenté.
- Pour certaines architectures, la prise en charge de la dĂ©finition de la taille du bloc (cache line) utilisĂ©e pour le transfert de donnĂ©es entre le cache du CPU et la mĂ©moire a Ă©tĂ© mise en Ćuvre.
- La prise en charge du gestionnaire de paquets Homebrew a été ajoutée sur les systÚmes Apple Silicon.
- Des problÚmes de compilation croisée pour Windows ont été résolus.
- Un bogue causant la fermeture des connexions lors de l'utilisation du mode 0-RTT dans le protocole QUIC a été corrigé.
On peut également noter la publication de la version stable du projet FreeNginx 1.26.0, un fork d'Nginx. Le développement de ce fork est dirigé par Maxim Dounine, l'un des développeurs clés d'Nginx. FreeNginx est positionné comme un projet non commercial, garantissant le développement de la base de code d'Nginx sans ingérence d'entreprise. La version 1.26.0 est marquée comme une version stable, intégrant des modifications et des corrections provenant des versions en ligne d'Nginx 1.25. Parmi les nouveautés, FreeNginx 1.26.0 comprend un support expérimental du protocole HTTP/3, des améliorations contre les attaques par déni de service (DoS) et des corrections relatives au traitement asynchrone des entrées/sorties.
En parallĂšle, la version njs 0.8.4, interprĂ©teur du langage JavaScript pour serveur web nginx, a Ă©tĂ© publiĂ©e. L'interprĂ©teur njs met en Ćuvre les normes ECMAScript et permet d'Ă©tendre les capacitĂ©s d'nginx en matiĂšre de traitement des requĂȘtes via des scripts dans la configuration. Les scripts peuvent ĂȘtre utilisĂ©s dans le fichier de configuration pour dĂ©finir une logique de traitement des requĂȘtes avancĂ©e, gĂ©nĂ©rer dynamiquement une rĂ©ponse, modifier la requĂȘte/rĂ©ponse ou crĂ©er rapidement des maquettes pour rĂ©soudre des problĂšmes dans les applications web. Dans la nouvelle version : la prise en charge du moteur JavaScript QuickJS a Ă©tĂ© ajoutĂ©e dans le CLI ; la possibilitĂ© de dĂ©finir l'en-tĂȘte Server a Ă©tĂ© ajoutĂ©e ; une vĂ©rification des variables en double dĂ©finies via js_set a Ă©tĂ© mise en Ćuvre.
Source : opennet.ru
