Maison développement back-end tutoriel php Comment configurer le serveur proxy Nginx dans Docker pour protéger l'accès aux services web ?

Comment configurer le serveur proxy Nginx dans Docker pour protéger l'accès aux services web ?

Sep 05, 2023 pm 06:23 PM
docker nginx 代理服务器

Comment configurer le serveur proxy Nginx dans Docker pour protéger laccès aux services web ?

Comment configurer le serveur proxy Nginx dans Docker pour protéger l'accès aux services web ?

1. Introduction générale
Dans le développement d'applications Web modernes, la sécurité est une considération très importante. Afin de protéger l'accès aux services Web et d'améliorer la sécurité des applications, nous pouvons utiliser Nginx comme serveur proxy. Cet article explique comment configurer le serveur proxy Nginx dans Docker pour protéger l'accès aux services Web.

2. Installer Docker
Tout d'abord, nous devons installer Docker sur la machine locale. Docker est une plateforme de conteneurisation open source qui nous aide à déployer et gérer facilement des applications. Vous pouvez télécharger la version Docker adaptée à votre système d'exploitation via le site officiel de Docker et l'installer conformément à la documentation officielle.

3. Créez un conteneur de serveur proxy Nginx

  1. Créez un nouveau réseau Docker pour la communication entre les conteneurs :

    docker network create nginx-proxy
    Copier après la connexion
  2. Créez un nouveau conteneur de serveur proxy Nginx et connectez-le au réseau nouvellement créé :

    docker run -d 
      --name nginx-proxy 
      --network nginx-proxy 
      -p 80:80 
      -v /var/run/docker.sock:/tmp/docker.sock:ro 
      jwilder/nginx-proxy
    Copier après la connexion

    In Dans cet exemple, nous avons utilisé le miroir jwilder/nginx-proxy. Cette image peut détecter automatiquement les conteneurs exécutés sur le même réseau Docker et mapper le port spécifié au port 80 du serveur proxy Nginx.

4. Créez un conteneur de services Web

  1. Créez un nouveau conteneur de services Web et connectez-le au réseau Docker créé précédemment. Dans cet exemple, nous utiliserons un simple conteneur Nginx comme service Web.

    docker run -d 
      --name web 
      --network nginx-proxy 
      -e VIRTUAL_HOST=example.com 
      nginx:latest
    Copier après la connexion

    Dans cet exemple, nous avons spécifié la variable d'environnement VIRTUAL_HOST=example.com. Cela indique au serveur proxy Nginx de transmettre toutes les requêtes à example.com vers le conteneur connecté au réseau nginx-proxy.

  2. Plus de conteneurs de services Web peuvent être ajoutés en fonction de vos besoins. Assurez-vous simplement qu'ils sont tous deux connectés au réseau nginx-proxy et définissez la variable d'environnement VIRTUAL_HOST correspondante.

5. Vérifiez la configuration

  1. Modifiez le fichier hosts sur la machine locale et pointez example.com vers l'adresse IP locale.

    sudo echo "127.0.0.1 example.com" >> /etc/hosts
    Copier après la connexion
  2. Ouvrez votre navigateur et entrez example.com. Si tout est configuré correctement, vous devriez pouvoir voir la page d'accueil par défaut de Nginx.

6. Protéger les droits d'accès aux services Web
Afin de protéger les droits d'accès aux services Web, nous pouvons utiliser la fonction d'authentification de base de Nginx.

  1. Créez un fichier contenant le nom d'utilisateur et le mot de passe pour stocker les informations d'autorisation :

    sudo sh -c "echo -n 'username:' >> /etc/nginx/.htpasswd"
    sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
    Copier après la connexion

    Veuillez noter de remplacer "nom d'utilisateur" par le nom d'utilisateur souhaité.

  2. Ajoutez la variable d'environnement suivante dans le conteneur du serveur proxy Nginx pour activer l'authentification de base :

    docker run -d 
      --name nginx-proxy 
      --network nginx-proxy 
      -p 80:80 
      -v /var/run/docker.sock:/tmp/docker.sock:ro 
      -v /etc/nginx/.htpasswd:/etc/nginx/.htpasswd:ro 
      -e HTTP_AUTHENTICATION=true 
      jwilder/nginx-proxy
    Copier après la connexion
  3. Redémarrez le conteneur du serveur proxy Nginx :

    docker restart nginx-proxy
    Copier après la connexion

    Maintenant, l'accès à example.com fera apparaître une boîte de dialogue d'authentification, un nom d'utilisateur. et un mot de passe sont requis.

Ci-dessus sont les étapes et un exemple de code sur la façon de configurer le serveur proxy Nginx dans Docker pour protéger l'accès aux services Web. De cette manière, nous pouvons protéger efficacement nos services Web et améliorer la sécurité de nos applications. J'espère que cet article vous aidera !

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment créer un miroir dans Docker Comment créer un miroir dans Docker Apr 15, 2025 am 11:27 AM

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment lire la version docker Comment lire la version docker Apr 15, 2025 am 11:51 AM

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment enregistrer l'image docker Comment enregistrer l'image docker Apr 15, 2025 am 11:54 AM

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

See all articles