La sortie de la branche principale nginx 1.21.2 a été formée, dans le cadre de laquelle le développement de nouvelles fonctionnalités se poursuit (dans la branche stable 1.20, uniquement des modifications liées à la correction de bogues graves et de vulnérabilités sont apportées).
Principales modifications :
- Le blocage des requêtes HTTP/1.0 incluant l'en-tête HTTP « Transfer-Encoding » (introduit dans la version du protocole HTTP/1.1) a été assuré.
- Le support de l'ensemble de chiffrement à l'export a été arrêté.
- Compatibilité assurée avec la bibliothèque OpenSSL 3.0.
- La transmission des en-têtes « Auth-SSL-Protocol » et « Auth-SSL-Cipher » au serveur d'authentification du proxy de messagerie a été mise en œuvre.
- La mise en cache des données traitées a été autorisée dans l'API de filtrage du corps de la requête.
- Lors du téléchargement des certificats du serveur, l'utilisation des niveaux de sécurité pris en charge depuis OpenSSL 1.1.0 et définis via le paramètre « @SECLEVEL=N » dans la directive ssl_ciphers a été établie.
- Les blocages lors de la création SSL-de connexions aux backends dans les modules stream et gRPC ont été résolus.
- Le problème d'écriture sur le disque du corps de la requête lors de l'utilisation de HTTP/2, en l'absence de l'en-tête « Content-Length » dans la requête, a été résolu.
Simultanément, la version njs 0.6.2, l'interpréteur du langage JavaScript pour serveur web nginx, a été publiée. L'interpréteur njs implémente les normes ECMAScript et permet d'étendre les capacités de traitement des requêtes de nginx à 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 requêtes élargie, générer dynamiquement une réponse, modifier la requête/réponse ou créer rapidement des solutions pour des problèmes dans les applications web. La nouvelle version a ajouté les méthodes Promise.all(), Promise.allSettled(), Promise.any() et Promise.race() à l'implémentation de Promise. Le support de l'objet AggregateError a été mis en œuvre.
Source : opennet.ru
