Maison  >  Article  >  développement back-end  >  Comment configurer le proxy Nginx dans Docker pour la protection par cryptage SSL ?

Comment configurer le proxy Nginx dans Docker pour la protection par cryptage SSL ?

PHPz
PHPzoriginal
2023-09-05 08:42:37971parcourir

Comment configurer le proxy Nginx dans Docker pour la protection par cryptage SSL ?

Comment configurer le proxy Nginx dans Docker pour la protection par cryptage SSL ?

Avec le développement d'Internet, les problèmes de sécurité des données sont devenus de plus en plus importants. Afin d’assurer la sécurité des données, SSL (Secure Sockets Layer) est devenu un protocole de cryptage incontournable. Lorsque vous utilisez Nginx pour proxy, la configuration d'un certificat SSL est une opération de sécurité de base. Cet article explique comment configurer le proxy Nginx dans Docker pour obtenir une protection par cryptage SSL.

1. Installez Docker et Nginx

Tout d'abord, nous devons installer Docker et Nginx sur le serveur. Vous pouvez l'installer en conséquence en fonction de votre propre système d'exploitation et de votre version de distribution.

2. Générer un certificat SSL

Afin de configurer le cryptage SSL de Nginx, nous devons générer un certificat SSL. Un certificat auto-signé peut être généré avec la commande suivante :

$ openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt

Cela générera un certificat SSL auto-signé.

3. Créer une image Docker

Ensuite, nous devons créer une image Docker pour Nginx. Vous pouvez créer un nouveau Dockerfile avec le contenu suivant :

FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
COPY server.crt /etc/nginx/server.crt
COPY server.key /etc/nginx/server.key
EXPOSE 80
EXPOSE 443

Dans ce Dockerfile, nous copions le fichier de configuration Nginx nginx.conf et les certificats SSL server.crt et server.key dans le répertoire correspondant dans l'image, et spécifions le conteneur besoins Les ports d'écoute sont 80 et 443.

4. Configurer le proxy Nginx

Ensuite, nous devons configurer les paramètres du proxy Nginx. Dans le fichier nginx.conf, vous pouvez le configurer selon l'exemple suivant :

worker_processes auto;
events {}

http {
  server {
    listen 80;
    server_name example.com;
    location / {
      proxy_pass http://backend;
    }
  }

  server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/server.crt;
    ssl_certificate_key /etc/nginx/server.key;

    location / {
      proxy_pass http://backend;
    }
  }
}

upstream backend {
  server backend_host:backend_port;
}

Dans la configuration ci-dessus, nous définissons d'abord un backend nommé en amont pour spécifier l'adresse et le port du serveur backend. Ensuite, nous avons configuré deux blocs serveurs, un en écoute sur le port 80 et l'autre en écoute sur le port 443. Dans le bloc serveur du port 443, nous avons utilisé le certificat SSL et la clé privée spécifiés, et défini l'adresse de transfert du proxy.

5. Créez et exécutez le conteneur Docker

Enfin, nous devons construire et exécuter le conteneur Docker.

Tout d'abord, utilisez la commande suivante pour créer l'image Docker :

$ docker build -t nginx-ssl .

Ensuite, utilisez la commande suivante pour exécuter le conteneur Docker :

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

Cela mappera le port 80 et le port 443 du conteneur aux ports correspondants du hôte et le nom du conteneur est nginx-ssl.

6. Test et vérification

Maintenant, nous pouvons accéder au proxy Nginx en entrant l'adresse IP ou le nom de domaine du serveur.

Entrez http://example.com dans le navigateur, vous pouvez voir que le proxy Nginx a été configuré avec succès. http://example.com,可以看到Nginx代理已经成功配置。

同时,我们还可以尝试通过https://example.com

En même temps, nous pouvons également essayer d'accéder via https://example.com Si le navigateur affiche une connexion sécurisée, cela signifie que le cryptage SSL a pris effet.

Résumé

Configurer le proxy Nginx dans Docker pour la protection par cryptage SSL n'est pas difficile. En générant un certificat SSL, en créant une image Docker, en configurant le proxy Nginx et en exécutant un conteneur Docker, vous pouvez facilement ajouter le cryptage SSL à Nginx pour améliorer la sécurité des données. 🎜

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