Nginx est un serveur web open-source qui a conquis le cœur de nombreux administrateurs et développeurs en raison de ses performances efficaces, de sa faible consommation de mémoire et de sa prise en charge puissante de divers protocoles. Aujourd’hui, nous allons parler de la configuration de la prise en charge de HTTP/2 dans Nginx.

HTTP/2 est une évolution du protocole HTTP qui améliore le transfert de données entre le serveur et l’utilisateur. Il remplace le protocole HTTP 1.1, qui limitait le nombre de connexions simultanées et ralentissait donc le chargement des pages lourdes. HTTP/2 résout ce problème en permettant le chargement parallèle des données et la compression des en-têtes HTTP.

Pourquoi le passage à HTTP/2 est-il important ?

Le passage à HTTP/2 permet non seulement d’accélérer le chargement de votre site web, mais aussi d’accroître la sécurité de la transmission des données. Tous les navigateurs modernes exigent que les sites web utilisent HTTPS pour prendre en charge HTTP/2, ce qui rend la transmission des données entre le serveur et les visiteurs plus sûre.

Le processus de transition vers HTTP/2

Avant de commencer à configurer HTTP/2 , vous devez disposer d’un serveur fonctionnant sous Ubuntu 18.04 et Nginx doit être installé. Votre nom de domaine doit également pointer vers le serveur et un certificat SSL (par exemple, Let’s Encrypt) doit être installé pour ce domaine.

1. Mise en place du serveur

Ouvrez le fichier de configuration de votre domaine :

vim /etc/nginx/sites-available/votre_domaine

Ajout de la prise en charge de HTTP/2 pour les connexions IPv6 et IPv4 :

listen [: :]:443 ssl hp2 ipv6only=on ;
listen 443 ssl http2 ;

Enregistrez vos modifications et vérifiez la syntaxe :

nginx -t

2. Amélioration de la sécurité

Pour améliorer la sécurité, excluez les algorithmes de chiffrement non sécurisés. Dans le fichier de configuration de votre domaine, modifiez l’option ssl_ciphers :

ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5 ;

Vérifiez la syntaxe et redémarrez le serveur :

nginx -t
systemctl restart nginx.service

3. Ajout de HTTP Strict Transport Security (HSTS)

Pour encore plus de sécurité, ajoutez l’en-tête HTTP Strict Transport Security à votre fichier de configuration Nginx. Cet en-tête garantit que les navigateurs n’utiliseront que des connexions HTTPS.

Dans le fichier de configuration de Nginx :

add_header Strict-Transport-Security "max-age=15768000 ; includeSubDomains" always ;

Vérifiez la syntaxe et redémarrez le serveur.

4. Vérification du bon fonctionnement de HTTP/2.

Vous pouvez tester HTTP/2 à l’aide de la commande curl :

curl -I -L https://ваш_домен

La réponse du serveur doit mentionner HTTP/2.

Vous pouvez également utiliser Google Chrome et les outils de développement pour vérifier la prise en charge de HTTP/2.

Votre site web est désormais prêt à fonctionner avec HTTP/2 – une version plus rapide et plus sécurisée du protocole HTTP 🚀.

N’oubliez pas de toujours maintenir votre serveur à jour et sécurisé. Bonne chance !!!!

Lire aussi :

Questions et réponses

Quels sont les avantages de l’utilisation de HTTP/2 par rapport à HTTP/1.1 ?

HTTP/2 offre un certain nombre d’avantages, notamment une amélioration des performances grâce à des fonctionnalités telles que le multiplexage et la compression des en-têtes, une sécurité accrue grâce au cryptage intégré et une meilleure prise en charge des technologies web modernes.

Dois-je activer SSL/TLS lors de la configuration de la prise en charge de HTTP/2 ?

Oui, il est essentiel d’activer SSL/TLS lors de la configuration de la prise en charge de HTTP/2 afin de garantir une communication sécurisée entre les clients et le serveur. Le cryptage SSL/TLS protège les données sensibles contre l’interception et l’accès non autorisé.

Puis-je configurer le support HTTP/2 sur des versions plus anciennes d’Ubuntu ?

Bien qu’il soit techniquement possible de configurer le support HTTP/2 sur des versions plus anciennes d’Ubuntu, comme la 16.04, il est recommandé d’utiliser Ubuntu 18.04 ou une version plus récente pour une compatibilité et un support optimaux.

Comment puis-je vérifier si HTTP/2 est activé sur mon serveur Nginx ?

Vous pouvez vérifier si HTTP/2 est activé sur votre serveur Nginx en utilisant des outils tels que curl ou des services de test HTTP/2 en ligne. Sinon, l’examen des journaux du serveur Nginx peut vous donner une idée de la version du protocole utilisée par les connexions des clients.

L’activation de la prise en charge de HTTP/2 nécessite-t-elle des ressources supplémentaires sur le serveur ?

L’activation de la prise en charge de HTTP/2 peut nécessiter un peu plus de ressources serveur que HTTP/1.1 en raison de la complexité accrue du protocole. Toutefois, les avantages en termes de performances l’emportent généralement sur les exigences minimales en termes de ressources.

Puis-je revenir à HTTP/1.1 si nécessaire après avoir configuré la prise en charge de HTTP/2 ?

Oui, vous pouvez revenir à HTTP/1.1 si nécessaire en modifiant les paramètres de configuration de Nginx. Cependant, il est recommandé de tester soigneusement la compatibilité et les performances de votre site web avant d’effectuer tout changement.

A propos de l'auteur

Andrii Kostashchuk

Andrii a de l'expérience dans la programmation dans divers langages pour différentes plateformes et systèmes. Il a passé plus de 8 ans dans la sphère Internet, travaillant avec différents CMS, tels que : Opencart, Drupal, Joomla et, bien sûr, le système de gestion de contenu le plus populaire, WordPress.

Voir tous les articles