Maison >développement back-end >tutoriel php >Comment configurer le serveur proxy Nginx dans le conteneur Docker pour prendre en charge le protocole HTTP/2 pour les services Web ?

Comment configurer le serveur proxy Nginx dans le conteneur Docker pour prendre en charge le protocole HTTP/2 pour les services Web ?

WBOY
WBOYoriginal
2023-09-05 14:49:051629parcourir

Comment configurer le serveur proxy Nginx dans le conteneur Docker pour prendre en charge le protocole HTTP/2 pour les services Web ?

Comment configurer le serveur proxy Nginx dans le conteneur Docker pour prendre en charge le protocole HTTP/2 pour les services Web ?

Introduction
Le protocole HTTP/2, en tant que version améliorée de HTTP/1.1, est devenu la nouvelle norme pour le protocole de transfert hypertexte dans les serveurs Web en améliorant les performances et les fonctionnalités de sécurité. En tant que serveur Web hautes performances, Nginx prend également en charge l'utilisation du protocole HTTP/2. Cet article explique comment configurer le serveur proxy Nginx dans un conteneur Docker pour prendre en charge le protocole HTTP/2 du service Web.

Étape 1 : Créer un conteneur Docker
Tout d'abord, nous devons créer un conteneur Docker sur notre ordinateur local. Vous pouvez créer un nouveau conteneur via les commandes Docker, par exemple :

docker run -d -p 80:80 --name nginx-proxy nginx:latest

La commande ci-dessus créera un conteneur nommé nginx-proxy et mappera le port 80 de l'ordinateur local au port 80 dans le conteneur.

Étape 2 : Entrez le conteneur Docker
Entrez le conteneur que vous venez de créer avec la commande suivante :

docker exec -it nginx-proxy bash

Cette commande entrera dans le terminal bash du conteneur nginx-proxy.

Étape 3 : Modifier le fichier de configuration Nginx
Dans le conteneur, nous devons modifier le fichier de configuration Nginx pour activer le protocole HTTP/2. Par défaut, le fichier de configuration de Nginx se trouve dans /etc/nginx/nginx.conf. Ouvrez le fichier avec un éditeur de texte, par exemple :

vim /etc/nginx/nginx.conf

Dans le fichier ouvert, recherchez l'élément de configuration suivant :

listen       80;

Ensuite, ajoutez ce qui suit sous la ligne pour activer le protocole HTTP/2 :

listen 443 ssl http2;

This La configuration changera le port sur lequel Nginx écoute 443 et activera les protocoles SSL et HTTP/2.

Étape 4 : Générer un certificat SSL
Étant donné que le protocole HTTP/2 nécessite l'utilisation d'une communication cryptée SSL, nous devons générer un certificat SSL pour Nginx. Vous pouvez utiliser l'outil OpenSSL pour générer un certificat auto-signé. Exécutez la commande suivante dans le conteneur pour générer un certificat SSL :

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt

La commande ci-dessus générera un certificat auto-signé valable 365 jours et enregistrera la clé privée dans le fichier /etc/nginx/ssl/nginx.key. le certificat dans le fichier /etc/nginx/ssl/nginx.crt.

Étape 5 : Configurer le serveur proxy Nginx
Maintenant, nous devons modifier le fichier de configuration du serveur proxy de Nginx. En règle générale, le fichier de configuration du serveur proxy se trouve dans /etc/nginx/conf.d/default.conf. Ouvrez le fichier avec un éditeur de texte, par exemple :

vim /etc/nginx/conf.d/default.conf

Dans le fichier ouvert, recherchez l'élément de configuration suivant :

location / {
    proxy_pass http://backend;
}

Ensuite, ajoutez le contenu suivant au-dessus de l'élément de configuration pour définir le certificat SSL et activer le protocole HTTP/2. :

listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;

Ces configurations indiqueront à Nginx d'utiliser le certificat SSL généré précédemment et d'activer le protocole HTTP/2.

Étape 6 : Redémarrer le service Nginx
Après avoir terminé la configuration ci-dessus, nous devons redémarrer le service Nginx pour que la configuration prenne effet. Exécutez la commande suivante dans le conteneur pour redémarrer le service Nginx :

nginx -s reload

Maintenant, le serveur proxy Nginx a été configuré et prend en charge les services Web utilisant le protocole HTTP/2.

Conclusion
Grâce aux étapes de cet article, nous avons configuré avec succès le serveur proxy Nginx dans le conteneur Docker pour prendre en charge le protocole HTTP/2 du service Web. L'utilisation du protocole HTTP/2 peut offrir des performances plus rapides et une sécurité accrue, permettant ainsi à nos applications Web de fonctionner de manière plus efficace et plus fiable dans des conteneurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn