GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer Nginx avec la prise en charge HTTP/2 sur Debian 9

Nous allons vous montrer comment configurer Nginx avec le support HTTP/2 sur Debian 9. HTTP/2 est une révision majeure du protocole réseau HTTP et offre de nombreux avantages. L'activation de HTTP/2 sur Nginx exécuté sur le serveur Debian 9 est une tâche assez simple si vous suivez attentivement le didacticiel ci-dessous. Commençons !

Qu'est-ce que HTTP/2 ?

HTTP/2 est une révision majeure du protocole réseau HTTP. Il est dérivé du protocole expérimental SPDY développé par Google. L'objectif principal de HTTP/2 est de réduire la latence, de minimiser la surcharge du protocole et d'ajouter la prise en charge de la hiérarchisation des demandes. Cela accélère le chargement des applications Web.

La syntaxe de haut niveau comme les codes d'état, les méthodes, les champs d'en-tête, les URI, etc. est la même que la version précédente de HTTP, sauf qu'il existe une différence sur la façon dont les données sont encadrées et transportées entre le client et le serveur.

La prise en charge de HTTP/2 a été introduite dans la version 1.9.5 de Nginx et est disponible dans toutes les versions plus récentes. Si vous utilisez Debian 9 comme système d'exploitation, vous ne devriez pas vous demander si vous pouvez utiliser HTTP/2 avec Nginx ou non. La version Nginx incluse dans le référentiel Debian 9 par défaut est supérieure à 1.9.5, la prise en charge HTTP/2 sera donc incluse.

Pour vérifier la version de Nginx installée sur votre VPS Debian, connectez-vous à votre serveur via SSH et exécutez la commande suivante :

nginx -v

Le résultat devrait ressembler à celui ci-dessous :

# nginx -v
nginx version: nginx/1.10.3

Si vous obtenez quelque chose comme ce qui suit :

# nginx -v
-bash: /usr/sbin/nginx: No such file or directory

Cela signifie que Nginx n'est pas installé sur votre VPS Linux et que vous devez d'abord l'installer. Exécutez les commandes suivantes pour installer Nginx :

apt-get update
apt-get install nginx

Une fois l'installation terminée, exécutez la commande ci-dessus pour vérifier que Nginx est installé et qu'il prend en charge HTTP/2.

Configurer Nginx avec la prise en charge HTTP/2 sur Debian 9

HTTP/2 ne nécessite pas de chiffrement. Cependant, aucun navigateur ne prend actuellement en charge le protocole HTTP/2 non chiffré. Vous devez donc disposer d'un certificat SSL valide émis pour votre domaine avant de passer aux autres étapes de ce didacticiel.

Pour activer HTTP/2 dans Nginx, ouvrez le bloc de serveur Nginx par défaut à l'aide d'un éditeur de texte de votre choix.

nano /etc/nginx/sites-available/default

Ajoutez ensuite les lignes suivantes :

server {
listen 443 ssl http2 default_server;
server_name domain.com www.domain.com;
root /var/www/html;
index index.html;

location / {
try_files $uri $uri/ =404;
}

ssl_certificate /etc/nginx/ssl/domain.com.crt;
ssl_certificate_key /etc/nginx/ssl/domain.com.key;
}

server {
listen 80;
server_name domain.com www.domain.com;
return 301 https://$server_name$request_uri;
}

Utilisez votre nom de domaine pour server_name , l'emplacement des données de votre site Web pour root et le chemin vers votre certificat SSL et votre clé privée pour ssl_certificate et ssl_certificate_key .

Une fois que vous avez terminé, enregistrez le fichier et fermez-le. Vérifiez s'il y a des erreurs de syntaxe dans la configuration Nginx à l'aide de la commande ci-dessous :

nginx -t

Si tout est OK avec la configuration, la sortie devrait être similaire à celle ci-dessous :

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Sinon, les erreurs seront répertoriées dans la sortie afin que vous trouviez facilement quel est le problème.

Une fois que vous êtes sûr qu'il n'y a aucun problème avec la configuration dans Nginx, vous pouvez redémarrer le service en utilisant la commande suivante :

systemctl restart nginx.service

Une chose que nous pouvons améliorer ici est la sécurité des échanges de clés. Nginx utilise par défaut une clé Diffie-Hellman 1028 bits et nous pouvons en générer une nouvelle, plus sécurisée. Pour générer une nouvelle clé Diffie-Hellman, exécutez la commande suivante :

openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

Le processus prendra quelques minutes. Une fois la clé générée, ouvrez le bloc de serveur Nginx par défaut et ajoutez la ligne suivante sous ssl_certificate_key :

ssl_dhparam /etc/nginx/ssl/dhparam.pem;

Ensuite, redémarrez Nginx pour que les modifications prennent effet.

Si vous souhaitez configurer Nginx avec la prise en charge HTTP/2 pour un nom de domaine différent, vous pouvez suivre notre tutoriel sur la configuration des blocs de serveur dans Nginx.

De plus, si vous utilisez Ubuntu 16.04 ou CentOS 7 comme système d'exploitation, vous pouvez consulter notre tutoriel sur la façon d'activer HTTP/2 dans Nginx sur Ubuntu ou CentOS.

Vérifiez que Nginx prend en charge HTTP/2

Pour vérifier si HTTP/2 est activé dans Nginx, vous pouvez utiliser notre outil de vérification HTTP/2 en ligne.

Bien sûr, vous n'êtes pas obligé de configurer Nginx avec la prise en charge HTTP/2 sur Debian 9, si vous utilisez l'une de nos solutions d'hébergement optimisé HTTP/2, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer Nginx avec Prise en charge HTTP/2 sur Debian 9 pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS. Si vous avez aimé cet article sur la configuration de Nginx avec le support HTTP/2 sur Debian 9, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


Debian
  1. Comment configurer un pare-feu avec UFW sur Debian 10

  2. Comment configurer un pare-feu avec UFW sur Debian 9

  3. Comment installer le serveur HTTP Git avec Nginx sur Debian 11

  4. Comment configurer Apache avec HTTP/2 sur Ubuntu 16.04

  5. Comment installer WonderCMS avec Nginx sur Debian 11

Comment activer la prise en charge HTTP/2.0 sur Nginx

Comment installer phpMyAdmin avec Nginx sur Debian 11

Comment installer Nginx avec PHP-FPM sur Debian 11

Comment activer HTTP/2.0 dans Nginx

Comment configurer un pare-feu avec UFW sur Debian 11

Comment configurer Nginx avec la prise en charge HTTP/2 sur Ubuntu 18.04