Publication de nginx 1.25.3, njs 0.8.2 et NGINX Unit 1.31.1

La version principale de nginx 1.25.3 a été publiée, au sein de laquelle le développement de nouvelles fonctionnalités se poursuit. Dans la branche stable 1.24.x, qui est maintenue en parallèle, seules des modifications liées à la correction de bogues graves et de vulnérabilités sont apportées. À l'avenir, une branche stable 1.26 sera constituée sur la base de la branche principale 1.25.x. Le code du projet est écrit en langage C et est distribuée sous licence BSD.

Parmi les changements :

  • La protection contre les activités anormales des clients HTTP/2 a été renforcée, en particulier contre les attaques DoS de type "Rapid Reset", qui créent un grand nombre de flux immédiatement réinitialisés dans le cadre d'une seule connexion HTTP/2. Dans la configuration par défaut, de telles attaques sont limitées par le nombre de requêtes par connexion "keepalive_requests" (après chaque 1000 requêtes, la connexion sera réinitialisée) et par les limites de "limit_req". Pour réagir plus rapidement aux inondations de requêtes via un grand nombre de flux, une limitation supplémentaire a été ajoutée, empêchant par défaut la création de plus de 256 (2 * max_concurrent_streams) nouveaux flux à chaque cycle de traitement des événements. Cette nouvelle limite permet de commencer à bloquer les requêtes avant d'atteindre la limite totale de flux simultanés, par exemple lorsque les flux sont traités de manière asynchrone ou réinitialisés. Un changement similaire a également été inclus dans la version angie 1.3.1 (fork d'nginx), publiée la semaine dernière.
  • La gestion des buffers utilisés lors de la détection automatique des connexions HTTP/2 a été améliorée.
  • La performance de démarrage des configurations avec un grand nombre de directives « location » a été augmentée.
  • Le problème de l'arrêt brutal du processus de travail observé lors de l'utilisation de HTTP/2 sans a été corrigé. SSL.
  • Le traitement incorrect du header « Status » retourné par le backend avec un texte explicatif vide a été corrigé.
  • Une fuite de mémoire lors de la reconfiguration, qui se produit lors de la compilation avec la bibliothèque PCRE2, a été éliminée.
  • Une quantité importante de corrections et d'améliorations concernant le support du protocole HTTP/3 a été apportée.

Le lancement de njs 0.8.2, un interpréteur JavaScript pour a également eu lieu. serveur web nginx. L'interpréteur njs implémente les normes ECMAScript et permet d'étendre les capacités de nginx en matière de traitement des demandes à l'aide de scripts dans la configuration. Les scripts peuvent être utilisés dans le fichier de configuration pour définir une logique de traitement des demandes avancée, générer des réponses dynamiques, modifier des demandes/réponses ou créer rapidement des bouchons pour résoudre des problèmes dans les applications web. La nouvelle version a ajouté l'objet console, qui offre les méthodes error(), info(), log(), time(), timeEnd() et warn(). La méthode fs.existsSync() a été ajoutée au module fs.

On peut également noter la publication du serveur d'applications NGINX Unit 1.31.1, qui propose une solution pour le déploiement d'applications web dans divers langages de programmation (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js et Java). Plusieurs applications dans des langages de programmation différents peuvent être exécutées simultanément sous NGINX Unit, et leurs paramètres de lancement peuvent être modifiés dynamiquement sans nécessiter de modification des fichiers de configuration ni redémarrage. En plus des corrections de bogues dans cette nouvelle version, le module Wasm permet le chargement de données de plus de 4 Go, et la possibilité de définir des codes d'état HTTP dans les réponses a été ajoutée.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster