Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Apache HTTP et Nginx Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

HTTP/2 est la deuxième version majeure du protocole HTTP publiée en 2015.

http-protocol-history

Environ 46,5 % des sites web prennent en charge HTTP/2.

HTTP2 statistics

Il possède de nombreuses fonctionnalités telles que

  • Compression de l’en-tête HTTP
  • Technologies “push
  • Chargement d’éléments de page en parallèle sur une seule connexion TCP
  • Protocole binaire
  • Temps de latence réduit

Une démonstration réalisée par AKAMAI montre que HTTP/2 est environ deux fois plus rapide que HTTP/1.1.

http2-demo

Saviez-vous que LiteSpeed a été l’un des premiers serveurs web à supporter HTTP/2 ?

Si vous utilisez un CDN comme Cloudflare, Incapsula, MaxCDN, vous n’avez peut-être pas besoin d’activer HTTP/2 dans vos serveurs web car vous pouvez le faire depuis la périphérie du réseau CDN.

Cependant, si vous devez implémenter HTTP/2 dans vos serveurs web comme Apache, Nginx, IIS, lisez la suite pour savoir comment le faire.

Remarque : tous les principaux navigateurs (Chrome, Edge, Firefox, Safari, Opera) doivent utiliser TLS 1.2 ou une version plus récente pour la mise en œuvre de HTTP2.

Mais ne vous inquiétez pas si vous faites des expériences. Vous pouvez obtenir le certificat TLS GRATUITEMENT.

Implémenter HTTP/2 dans Apache HTTP

HTTP/2 peut être déployé dans Apache HTTP 2.4.17 ou une version ultérieure avec l’aide du module mod_http2. Donc si vous avez une version 2.2 ou inférieure, vous devez d’abord mettre à jour vers la version compatible.

Compilons Apache HTTP avec les modules mod_http2 et mod_ssl.

  • Téléchargez la dernière version (je prendrai la 2.4.25 sur Linux)
  • Extrayez le fichier téléchargé, si vous avez téléchargé le fichier .gz, alors
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
  • Vous verrez un nouveau dossier se créer. Allez à l’intérieur de celui-ci
  • Construisez Apache à partir des sources avec la commande configure

Note: si vous essayez ceci sur un tout nouveau serveur, vous pouvez rencontrer une erreur d’installation des dépendances, et ce guide devrait vous aider.

./configure --enable-ssl --enable-so --enable-http2
  • Assurez-vous qu’il n’y a pas d’erreur lors de l’exécution de la commande ci-dessus, puis exécutez la commande make suivante
make
make install

Ceci conclut qu’Apache HTTP est installé avec le module HTTP/2 et qu’il est temps de procéder à la configuration nécessaire.

  • Faites une sauvegarde du fichier httpd.conf (emplacement par défaut /etc/httpd/conf/httpd.conf)
  • Ouvrez le fichier httpd.conf avec vi et assurez-vous que les éléments suivants existent ; si ce n’est pas le cas, ajoutez-les.
LoadModule http2_module modules/mod_http2.so
  • Ensuite, vous devez ajouter la directive Protocols comme suit
Protocoles h2 h2c http/1.1

Si vous activez HTTP/2 pour un hôte virtuel individuel, vous devez ajouter Protocols sous le VIrtualHost correspondant.

Note : il y a trois paramètres dans la directive Protocols ci-dessus

  • h2 – indique à Apache de supporter le protocole HTTP/2 sur SSL/TLS
  • h2c – indique à Apache de supporter le protocole HTTP/2 sur TCP
  • http/1.1 – si un client n’accepte pas HTTP/2, la requête est servie par HTTP/1.1

Redémarrez le serveur HTTP Apache pour recharger la configuration.

Maintenant, l’instance HTTP d’Apache est activée pour supporter le protocole HTTP/2.

Implémenter HTTP/2 dans Nginx

Nginx 1.9.5 ou une version plus récente prend en charge HTTP/2, vous devez donc d’abord vous assurer que vous avez installé la version compatible.

Pour activer HTTP/2 dans Nginx, il suffit d’ajouter le paramètre http2 dans la directive listen.

  • Comme d’habitude, faites une sauvegarde du fichier nginx.conf (emplacement par défaut /etc/nginx/nginx.conf)
  • Modifiez-le en utilisant vi et ajoutez http2 dans la directive listen
server {
 listen 443 http2 ssl chandan.io ;
.......
}

Comme je l’ai mentionné ci-dessus, HTTP/2 n’est supporté que par HTTPS, vous devez donc l’ajouter sous le bloc serveur qui a une configuration SSL.

Si votre configuration SSL se trouve dans un fichier autre que nginx.conf, vous devez la mettre à jour à cet endroit.

Une fois cela fait, redémarrez Nginx pour que la configuration soit active.

Vérifiez si le site web supporte HTTP/2

Il y a plusieurs façons de vérifier si le site web supporte HTTP/2 ou non.

Manuellement – ouvrez IE/Chrome/Firefox et appuyez sur F12 >> allez dans l’onglet Réseau, et vous devriez voir que le protocole est HTTP/2.

chrome-http2-verify

En ligne – vous pouvez utiliser l’outil HTTP/2 Test.

C’est tout pour aujourd’hui. J’espère que ce qui précède vous aidera à activer le protocole HTTP/2 dans les serveurs web Apache et Nginx pour des pages web à chargement rapide.

  • Chandan Kumar
    Auteur
    Chandan Kumar est le fondateur de Geekflare. Il a aidé des millions de personnes à exceller dans le domaine numérique. Passionné de technologie, il s'est donné pour mission d'explorer le monde et d'amplifier la croissance des professionnels et des entreprises.
Merci à nos sponsors
Autres lectures intéressantes sur Apache HTTP
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus