Sortie de nginx 1.21.2 et njs 0.6.2

La branche principale de nginx 1.21.2 a été publiée, au sein de laquelle le développement de nouvelles fonctionnalités se poursuit (dans la branche stable 1.20 prise en charge en parallèle, seules les modifications liées à l'élimination des erreurs et vulnérabilités graves sont apportées).

Les principaux changements:

  • Les requêtes HTTP/1.0 qui incluent l'en-tête HTTP « Transfer-Encoding » sont bloquées (apparu dans la version du protocole HTTP/1.1).
  • La prise en charge de la suite de chiffrement d'exportation a été interrompue.
  • La compatibilité avec la bibliothèque OpenSSL 3.0 est assurée.
  • Implémentation du transfert des en-têtes « Auth-SSL-Protocol » et « Auth-SSL-Cipher » vers le serveur d'authentification proxy de messagerie.
  • L'API de filtrage du corps de la requête permet la mise en mémoire tampon des données traitées.
  • Lors du chargement des certificats de serveur, l'utilisation des niveaux de sécurité pris en charge à partir d'OpenSSL 1.1.0 et spécifiés via le paramètre « @SECLEVEL=N » dans la directive ssl_ciphers a été ajustée.
  • Correction de blocages survenus lors de la création d'une connexion SSL aux backends dans les modules stream et gRPC.
  • Le problème d'écriture du corps de la requête sur le disque 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.

Au même moment, njs 0.6.2 est sorti, un interpréteur JavaScript pour le serveur Web nginx. L'interpréteur njs implémente les normes ECMAScript et vous permet d'étendre la capacité de nginx à traiter les requêtes à l'aide de scripts dans la configuration. Les scripts peuvent être utilisés dans un fichier de configuration pour définir une logique avancée pour traiter les demandes, générer une configuration, générer dynamiquement une réponse, modifier une demande/réponse ou créer rapidement des stubs pour résoudre des problèmes dans les applications Web. Dans la nouvelle version, les méthodes Promise.all(), Promise.allSettled(), Promise.any() et Promise.race() ont été ajoutées à l'implémentation Promise. Prise en charge implémentée de l'objet AggregateError.

Source: opennet.ru

Ajouter un commentaire