Après 11 mois de développement, le lancement de la nouvelle branche stable du serveur HTTP haute performance et du serveur proxy multi-protocole nginx 1.24.0, qui intègre les modifications cumulatives de la branche principale 1.23.x.
À l'avenir, toutes les modifications apportées à la branche stable 1.24 seront liées à la suppression de bogues et de vulnérabilités graves. Bientôt, la branche principale de nginx 1.25 sera formée, dans laquelle le développement de nouvelles fonctionnalités se poursuivra.
Selon le rapport de mars de Netcraft, nginx est utilisé sur 18,94 % de tous les sites actifs (20,08 % il y a un an, 20,15 % il y a deux ans), ce qui est le deuxième site le plus populaire dans cette catégorie (la part d'Apache correspond à 20,52 % (22,58 % il y a un an, deux plateformes basées sur nginx et LuaJIT) – 7,94 % (8,01 %).
Principales nouveautés de nginx 1.24.0
Dans cette nouvelle version qui vient de nginx 1.24.0 Le protocole TLSv1.3 est activé par défaut Et c'est qu'il inclut de nombreuses améliorations de sécurité et de performances, en plus d'aider à accélérer encore plus les connexions cryptées avec des options telles que le faux départ TLS et le Zero Round Trip Time (0RTT).
Un autre changement notable dans la nouvelle version est que nous avons fourni une rotation automatique des clés de chiffrement pour les tickets de session TLS, qui sont utilisés lors de l'utilisation de la mémoire partagée dans la directive ssl_session_cache.
Sous Windows, ajout de la prise en charge de personnages qui ne sont pas ASCII dans les noms de fichiers aux modules ngx_http_autoindex_module et ngx_http_dav_module, ainsi qu'à la directive includes. Sous Windows, nginx est également construit avec OpenSSL 3.0.
De l' autres changements qui se démarquent de nginx 1.24.0 :
- Ajout de la prise en charge des variables "$proxy_protocol_tlv_*", qui stockent les valeurs des champs TLV (Type-Length-Value) qui apparaissent dans le protocole PROXY v2 Type-Length-Value.
- Ajout de la prise en charge des plages d'octets au module ngx_http_gzip_static_module.
- Ajout du paramètre ipv4=off à la directive resolver, qui vous permet de désactiver la recherche d'adresse IPv4 lors de la résolution de noms et d'adresses.
- API interne repensée, les lignes d'en-tête sont désormais transmises sous forme de liste chaînée.
- Fourni la concaténation de chaînes d'en-tête nommées de manière identique lorsqu'elles sont transmises aux backends FastCGI, SCGI et uwsgi, dans la méthode $r->header_in() de ngx_http_perl_module et dans les variables "$http_…", "$sent_http_…", "$ sent_trailer_…" , "$upstream_http_…" et "$upstream_trailer_…".
- A fourni un avertissement en cas de remplacement de la configuration des protocoles utilisés pour le socket d'écoute.
- Le niveau de journalisation de nombreuses erreurs SSL a été rétrogradé de critique à informatif.
- Consommation de mémoire optimisée dans les configurations avec proxy SSL.
- Modification : niveau de journalisation de "longueur de données trop longue", "longueur trop courte", "version héritée incorrecte", "pas d'algorithmes de signature partagés", "longueur de résumé incorrecte", "extension sigalgs manquante", "longueur cryptée trop longue" » , "mauvaise longueur", "mauvaise mise à jour de la clé", "données de poignée de main mixtes et non prises de contact", "ccs reçus en avance", "données entre ccs et terminées", "longueur de paquet trop longue", "trop d'alertes d'avertissement", " disque trop petit », et « j'ai eu un aileron avant un ccs ».
Enfin si vous souhaitez en savoir plus vous pouvez vérifier les détails dans le lien suivant.
Pour les utilisateurs ordinaires qui n'ont pas la tâche d'assurer la compatibilité avec les modules tiers, il est recommandé d'utiliser la branche principale, sur la base de laquelle les versions du produit commercial Nginx Plus sont formées tous les trois mois.
Obtenir nginx 1.24.0
Pour ceux qui souhaitent pouvoir obtenir la nouvelle version, ils doivent faire ce qui suit, selon le cas de leur distribution.
Pour RHEL et ses dérivés, vous devez ajouter le référentiel avec la commande suivante :
sudo nano /etc/yum.repos.d/nginx.repo
Et ajouter ceci à la fin
[nginx] name=nginx repo baseurl=https://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
Et nous installons avec:
dnf install nginx
Alors que pour Ubuntu et ses dérivés, ils doivent taper ce qui suit :
sudo nano etc/apt/sources.list.d/nginx.list
Et ajoutez ceci au fichier :
deb https://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx deb-src https://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx
Et nous procédons à l'installation avec:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key sudo apt update sudo apt install nginx
Enfin, pour ceux qui préfèrent la compilation du package, cela peut se faire avec les commandes suivantes (une fois déjà téléchargées et se trouvant dans le répertoire du code) :
./configure make sudo make install