Maison >développement back-end >tutoriel php >Comment configurer le serveur proxy Nginx à l'aide de conteneurs Docker pour chiffrer les services Web ?

Comment configurer le serveur proxy Nginx à l'aide de conteneurs Docker pour chiffrer les services Web ?

WBOY
WBOYoriginal
2023-09-06 08:48:311571parcourir

Comment configurer le serveur proxy Nginx à laide de conteneurs Docker pour chiffrer les services Web ?

Comment configurer le serveur proxy Nginx pour chiffrer les services Web à l'aide de conteneurs Docker

Dans le monde Internet d'aujourd'hui, la protection de la sécurité des services Web est devenue de plus en plus importante. Afin de protéger les données sensibles contre le vol ou la falsification pendant la transmission, il est devenu courant d'utiliser le protocole HTTPS pour chiffrer les services Web. Cet article explique comment utiliser les conteneurs Docker pour configurer le serveur proxy Nginx afin d'implémenter le chiffrement des services Web.

Docker est une plateforme de conteneurisation open source qui peut aider les développeurs à simplifier le processus de déploiement et de gestion des applications. Nginx est un serveur Web hautes performances et un serveur proxy inverse capable de gérer des centaines ou des milliers de connexions simultanées. En combinant Docker et Nginx, nous pouvons facilement configurer un serveur proxy Web sécurisé et efficace.

Étape 1 : Installer Docker

Tout d’abord, nous devons installer Docker. Vous pouvez trouver la méthode d'installation adaptée à votre système d'exploitation sur le site officiel de Docker. Une fois l'installation terminée, exécutez la commande suivante pour vérifier que Docker est correctement installé :

$ docker --version

Étape 2 : Créer un conteneur Docker

Ensuite, nous créerons un conteneur Docker pour exécuter le serveur Nginx. Exécutez la commande suivante dans la ligne de commande :

$ docker run --name nginx-proxy -p 80:80 -p 443:443 -d nginx

Dans la commande ci-dessus, nous avons utilisé la commande docker run pour créer un conteneur nommé nginx-proxy et définir le port de l'hôte. 80 est mappé au port 80 du conteneur et le port 443 est mappé au port 443 du conteneur. Nous avons spécifié l'image de base du conteneur comme Nginx et utilisé le paramètre -d pour exécuter le conteneur en arrière-plan. docker run命令来创建一个名为nginx-proxy的容器,并将主机的80端口映射到容器的80端口,443端口映射到容器的443端口。我们指定了容器的基础镜像为Nginx,并使用了-d参数来后台运行容器。

步骤3:配置Nginx代理服务器

在容器中运行Nginx服务器后,我们需要配置代理服务器以将HTTP请求转发到实际的Web服务。通过修改Nginx的配置文件nginx.conf,我们可以完成此项配置。

首先,找到Nginx容器的ID或名称。可以使用以下命令来列出正在运行的Docker容器:

$ docker ps

在输出结果中找到nginx-proxy容器的ID或名称。

接下来,使用以下命令进入容器的shell环境:

$ docker exec -it <nginx-proxy-container-id> /bin/bash

<nginx-proxy-container-id></nginx-proxy-container-id>替换为实际的容器ID或名称。

进入容器的shell环境后,找到Nginx的配置文件所在位置:

$ cd /etc/nginx/conf.d

使用文本编辑器(如Vi或Nano)打开default.conf文件:

$ vi default.conf

在文件中添加以下配置,用于将HTTP请求转发到实际的Web服务。假设实际的Web服务在本地的8000端口运行:

server {
  listen 80;
  server_name example.com;

  location / {
    proxy_pass http://localhost:8000;
  }
}

保存并退出文件。

步骤4:配置HTTPS加密

为了实现Web服务的加密,我们需要配置Nginx支持HTTPS。首先,我们需要生成SSL证书和私钥文件。可以使用免费的证书颁发机构(如Let's Encrypt)或自签名证书来生成。

将证书和私钥文件保存到容器中的/etc/nginx/ssl目录下。然后,修改default.conf文件,以启用HTTPS。在文件中添加以下配置:

server {
  listen 443 ssl;
  server_name example.com;

  ssl_certificate /etc/nginx/ssl/certificate.crt;
  ssl_certificate_key /etc/nginx/ssl/private.key;

  location / {
    proxy_pass http://localhost:8000;
  }
}

保存并退出文件。

步骤5:重启Nginx服务器

完成上述配置后,我们需要重启Nginx服务器以使配置生效。在容器的shell环境中运行以下命令:

$ service nginx restart

现在,通过访问https://example.com

Étape 3 : Configurer le serveur proxy Nginx

Après avoir exécuté le serveur Nginx dans le conteneur, nous devons configurer le serveur proxy pour transmettre les requêtes HTTP au service Web réel. Nous pouvons compléter cette configuration en modifiant le fichier de configuration Nginx nginx.conf.

Tout d’abord, recherchez l’ID ou le nom du conteneur Nginx. Vous pouvez utiliser la commande suivante pour répertorier les conteneurs Docker en cours d'exécution :

rrreee

Recherchez l'ID ou le nom du conteneur nginx-proxy dans la sortie.
  • Ensuite, entrez dans l'environnement shell du conteneur à l'aide de la commande suivante :
  • rrreee
  • Remplacez <nginx-proxy-container-id></nginx-proxy-container-id> par l'ID ou le nom réel de votre conteneur.
  • Après être entré dans l'environnement shell du conteneur, recherchez l'emplacement du fichier de configuration Nginx :
  • rrreee
Utilisez un éditeur de texte (tel que Vi ou Nano) pour ouvrir le fichier default.conf : 🎜 rrreee🎜Ajouter dans le fichier La configuration suivante est utilisée pour transmettre les requêtes HTTP au service Web réel. En supposant que le service Web réel s'exécute localement sur le port 8000 : 🎜rrreee🎜 Enregistrez et quittez le fichier. 🎜🎜Étape 4 : Configurer le cryptage HTTPS 🎜🎜Afin d'implémenter le cryptage des services Web, nous devons configurer Nginx pour prendre en charge HTTPS. Tout d’abord, nous devons générer le certificat SSL et les fichiers de clé privée. Cela peut être généré à l'aide d'une autorité de certification gratuite (telle que Let's Encrypt) ou d'un certificat auto-signé. 🎜🎜Enregistrez les fichiers de certificat et de clé privée dans le répertoire /etc/nginx/ssl du conteneur. Ensuite, modifiez le fichier default.conf pour activer HTTPS. Ajoutez la configuration suivante au fichier : 🎜rrreee🎜Enregistrez et quittez le fichier. 🎜🎜Étape 5 : Redémarrez le serveur Nginx🎜🎜Après avoir terminé la configuration ci-dessus, nous devons redémarrer le serveur Nginx pour que la configuration prenne effet. Exécutez la commande suivante dans l'environnement shell du conteneur : 🎜rrreee🎜 Maintenant, en visitant https://example.com, vous devriez pouvoir voir votre service Web fonctionner de manière sécurisée. 🎜🎜Résumé🎜🎜Avec les conteneurs Docker et le serveur proxy Nginx, nous pouvons facilement implémenter le cryptage des services Web. Dans cet article, nous avons expliqué comment installer Docker, créer un conteneur Nginx, configurer un serveur proxy et activer le cryptage HTTPS. J'espère que cet article vous aidera à comprendre comment sécuriser les services Web. 🎜🎜Lien de référence : 🎜🎜🎜Site officiel de Docker : https://www.docker.com/🎜🎜Site officiel de Nginx : https://nginx.org/🎜🎜Site officiel de Let's Encrypt : https://letsencrypt.org /🎜🎜

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