Comment activer http / 2.0 en nginx

Comment activer http / 2.0 en nginx

Http / 2 est la dernière norme pour le Http protocole, c'est le successeur de Http / 1.1. Il devient de plus en plus populaire en raison des avantages qu'il apporte aux développeurs Web et aux utilisateurs en général. Il fournit un transport optimisé pour la sémantique HTTP en soutenant toutes les caractéristiques de base de Http / 1.1 mais vise à être plus efficace de plusieurs manières.

Il y a beaucoup de fonctionnalités en plus Http / 2 qui vous donnent plus de possibilités d'optimiser un site / application Web. Il offre un véritable multiplexage et une concurrence, une meilleure compression d'en-tête (codage binaire), une meilleure hiérarchisation, de meilleurs mécanismes de contrôle du débit et un nouveau mode d'interaction appelé «Push du serveur"Cela permet à un serveur de pousser les réponses à un client. Sans parler de, Http / 2 est basé sur l'expérimental de Google Spdy protocole.

Par conséquent, l'objectif principal de Http / 2 est de réduire le temps global de chargement des pages Web, améliorant ainsi les performances. Il se concentre également sur l'utilisation des ressources du réseau et du serveur ainsi que la sécurité car, avec Http / 2, SSL / TLS Le cryptage est obligatoire.

Dans cet article, vous apprendrez à activer Nginx avec Http / 2 Prise en charge des serveurs Linux.

Conditions préalables:

  • Une installation de travail de Nginx version 1.9.5 ou plus, construit avec le ngx_http_v2_module module.
  • Assurez-vous que votre site utilise un certificat SSL / TLS, si vous n'en avez pas, vous pouvez obtenir de Let's Encrypt ou Utiliser un certificat auto-signé.

Vous pouvez installer Nginx ou le déployer avec un Lemp Stack comme décrit dans les guides suivants:

  • Comment installer nginx sur centos 8
  • Comment installer le serveur LEMP sur Centos 8
  • Comment installer nginx, mysql / mariaDB et php sur rhel 8
  • Comment installer la pile LEMP avec phpmyadmin dans Ubuntu 20.04
  • Installez Nginx avec des blocs de serveur (hôtes virtuels) sur Debian 10
  • Comment utiliser Nginx comme équilibreur de charge HTTP dans Linux

Comment activer http / 2.0 en nginx

Si vous avez installé Nginx, vérifiez qu'il a été construit avec le ngx_http_v2_module module en exécutant la commande suivante.

# chaînes / usr / sbin / nginx | grep _module | Grep -V Configurer | Trier | grep ngx_http_v2_module 
Vérifiez le module Nginx HTTP / 2

Une fois que vous avez un site / application Web servir par Nginx avec Https configuré, ouvrez vos sites Web Bloc de serveur virtuel (ou hôte virtuel) Fichier pour l'édition.

# vi / etc / nginx / confr.d / exemple.com.conf [sur centos / rhel] $ sudo nano / etc / nginx / sites-disponible / exemple.com.conf [sur Ubuntu / Debian] 

Vous pouvez activer la prise en charge HTTP / 2 en ajoutant simplement http2 paramètre à tous écouter directives comme indiqué dans la capture d'écran suivante.

Écoutez 443 SSL http2; 

La configuration du bloc de serveur d'exemples ressemble à ci-dessous.

Exemple de serveur server_name.com www.exemple.com; Access_log / var / log / nginx / exemple.com_accé.enregistrer; error_log / var / log / nginx / exemple.com_error.enregistrer; écouter [::]: 443 ssl ipv6only = on http2; # Géré par certbot écouter 443 SSL http2; # Géré par certbot ssl_certificate / etc / lesencrypt / live / exemple.com / fullchain.pem; # Géré par certbot ssl_certificate_key / etc / lesencrypt / live / exemple.com / privkey.pem; # Géré par certbot include / etc / LetSencrypt / Options-Ssl-nginx.conf; # Géré par certbot ssl_dhparam / etc / lesencrypt / ssl-dhparams.pem; # géré par certbot 
Activer la prise en charge HTTP / 2 dans Nginx

Enregistrez les modifications dans le fichier et fermez-le.

Vérifiez ensuite la syntaxe de configuration de Nginx, si elle est OK, redémarrez le service Nginx.

# nginx -t # systemctl redémarrer nginx 

Ensuite, ouvrez un navigateur Web pour vérifier si votre site Web est servi sur Http / 2.

http: // www.exemple.com 

Pour accéder aux en-têtes HTTP, cliquez avec le bouton droit sur la page Web affichée, sélectionnez Inspecter Dans la liste des options pour ouvrir les outils du développeur, puis cliquez sur le Réseau Onglet, et recharger la page.

Vérifier Protocoles Pour voir celui que votre site utilise (si vous ne voyez pas l'en-tête des protocoles, cliquez avec le bouton droit sur aucun des en-têtes E.g Nom, puis vérifier Protocole de la liste pour l'afficher comme un en-tête).

Si votre site fonctionne sur Http / 1.1, sous Protocole, tu verras http / 1.1 comme indiqué dans la capture d'écran suivante.

Site Web fonctionnant sur HTTP / 1.1

S'il fonctionne sur Http / 2, sous Protocole, tu verras h2 comme indiqué dans la capture d'écran suivante. Vous voudrez peut-être désactiver le cache du navigateur pour afficher le dernier contenu servi directement à partir du serveur Web.

Site Web fonctionnant sur http / 2.0

C'est tout! Pour plus d'informations, consultez la documentation du module NGX_HTTP_V2_MODULE. N'hésitez pas à poser des questions via le formulaire de rétroaction ci-dessous.