La version 1.29.4 de la branche principale de nginx a été publiée. Le développement de nouvelles fonctionnalités se poursuit. Parallèlement, la branche stable 1.28.x est prise en charge. Seules les modifications visant à corriger des erreurs et vulnérabilités graves sont apportées. À l'avenir, la branche stable 1.29 sera créée à partir de la branche principale 1.30.x. Le code du projet est écrit en C et distribué sous licence BSD.
Dans la nouvelle version :
- Le module ngx_http_proxy prend désormais en charge le protocole HTTP/2, vous permettant d'utiliser HTTP/2 lors de l'accès aux serveurs backend.
- Prise en charge de l'extension TLS ECH (Encrypted ClientHello), évolution de l'extension ESNI (Encrypted Server Name Indication), utilisée pour chiffrer les informations des paramètres de session TLS, comme le nom de domaine demandé. La principale différence entre ECH et ESNI réside dans le fait qu'ECH chiffre l'intégralité du message TLS ClientHello, au lieu de chiffrer des champs individuels. Ceci permet de bloquer les fuites via des champs non couverts par ESNI, tels que le champ PSK (Pre-Shared Key). ECH s'active en spécifiant la directive « ssl_ech_file » dans le fichier de configuration ECHConfig au format PEM. La prise en charge est disponible avec les versions d'OpenSSL intégrant ECH.
- Les règles de vérification de l'hôte et du port dans le texte de la requête, l'en-tête « Host » et le pseudo-en-tête « :authority » ont été adaptées aux exigences de la RFC 3986.
- Spécifier un seul caractère de nouvelle ligne comme séquence de fin dans les requêtes segmentées ou dans le corps de la réponse est désormais considéré comme une erreur.
- Correction d'un plantage lors de l'utilisation de HTTP/3 avec OpenSSL 3.5.1+.
- Correction d'un plantage qui pouvait survenir lorsque les directives try_files et proxy_pass étaient spécifiées simultanément avec un URI.
Source: opennet.ru
