Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konfiguriere ich den Nginx-Proxyserver in Docker, um den Zugriff auf Webdienste zu schützen?

Wie konfiguriere ich den Nginx-Proxyserver in Docker, um den Zugriff auf Webdienste zu schützen?

PHPz
PHPzOriginal
2023-09-05 18:23:00701Durchsuche

Wie konfiguriere ich den Nginx-Proxyserver in Docker, um den Zugriff auf Webdienste zu schützen?

Wie konfiguriere ich den Nginx-Proxyserver in Docker, um den Zugriff auf Webdienste zu schützen?

1. Hintergrundeinführung
Bei der modernen Webanwendungsentwicklung ist Sicherheit ein sehr wichtiger Aspekt. Um den Zugriff auf Webdienste zu schützen und die Anwendungssicherheit zu verbessern, können wir Nginx als Proxyserver verwenden. In diesem Artikel erfahren Sie, wie Sie den Nginx-Proxyserver in Docker konfigurieren, um den Zugriff auf Webdienste zu schützen.

2. Docker installieren
Zuerst müssen wir Docker auf dem lokalen Computer installieren. Docker ist eine Open-Source-Containerisierungsplattform, die uns dabei hilft, Anwendungen einfach bereitzustellen und zu verwalten. Sie können die für Ihr Betriebssystem geeignete Docker-Version über die offizielle Docker-Website herunterladen und gemäß der offiziellen Dokumentation installieren.

3. Erstellen Sie einen Nginx-Proxyserver-Container.

  1. Erstellen Sie ein neues Docker-Netzwerk für die Kommunikation zwischen Containern:

    docker network create nginx-proxy
  2. Erstellen Sie einen neuen Nginx-Proxyserver-Container und verbinden Sie ihn mit dem neu erstellten Netzwerk:

    docker run -d 
      --name nginx-proxy 
      --network nginx-proxy 
      -p 80:80 
      -v /var/run/docker.sock:/tmp/docker.sock:ro 
      jwilder/nginx-proxy

    In In diesem Beispiel haben wir den jwilder/nginx-proxy-Spiegel verwendet. Dieses Image kann Container, die im selben Docker-Netzwerk ausgeführt werden, automatisch erkennen und den angegebenen Port Port 80 des Nginx-Proxyservers zuordnen.

4. Erstellen Sie einen Webservice-Container

  1. Erstellen Sie einen neuen Webservice-Container und verbinden Sie ihn mit dem zuvor erstellten Docker-Netzwerk. In diesem Beispiel verwenden wir einen einfachen Nginx-Container als Webdienst.

    docker run -d 
      --name web 
      --network nginx-proxy 
      -e VIRTUAL_HOST=example.com 
      nginx:latest

    In diesem Beispiel haben wir die Umgebungsvariable VIRTUAL_HOST=example.com angegeben. Dadurch wird der Nginx-Proxyserver angewiesen, alle Anfragen an example.com an den Container weiterzuleiten, der mit dem Nginx-Proxy-Netzwerk verbunden ist.

  2. Weitere Webservice-Container können je nach Bedarf hinzugefügt werden. Stellen Sie einfach sicher, dass beide mit dem Nginx-Proxy-Netzwerk verbunden sind, und legen Sie die entsprechende Umgebungsvariable VIRTUAL_HOST fest.

5. Überprüfen Sie die Konfiguration

  1. Ändern Sie die Hosts-Datei auf dem lokalen Computer und verweisen Sie example.com auf die lokale IP-Adresse.

    sudo echo "127.0.0.1 example.com" >> /etc/hosts
  2. Öffnen Sie Ihren Browser und geben Sie example.com ein. Wenn alles richtig konfiguriert ist, sollten Sie die Standard-Willkommensseite von Nginx sehen können.

6. Zugriffsrechte auf Webdienste schützen
Um Zugriffsrechte auf Webdienste zu schützen, können wir die Basisauthentifizierungsfunktion von Nginx verwenden.

  1. Erstellen Sie eine Datei mit Benutzernamen und Passwort, um Autorisierungsinformationen zu speichern:

    sudo sh -c "echo -n 'username:' >> /etc/nginx/.htpasswd"
    sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"

    Bitte beachten Sie, dass Sie „Benutzername“ durch Ihren gewünschten Benutzernamen ersetzen müssen.

  2. Fügen Sie die folgende Umgebungsvariable im Nginx-Proxy-Server-Container hinzu, um die Basisauthentifizierung zu aktivieren:

    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
  3. Starten Sie den Nginx-Proxy-Server-Container neu:

    docker restart nginx-proxy

    Jetzt wird beim Zugriff auf example.com ein Authentifizierungsdialogfeld angezeigt, ein Benutzername und Passwort sind erforderlich.

Die oben aufgeführten Schritte und Beispielcodes zeigen, wie Sie den Nginx-Proxyserver in Docker konfigurieren, um den Zugriff auf Webdienste zu schützen. Auf diese Weise können wir unsere Webdienste effektiv schützen und die Sicherheit unserer Anwendungen verbessern. Ich hoffe, dieser Artikel hilft Ihnen!

Das obige ist der detaillierte Inhalt vonWie konfiguriere ich den Nginx-Proxyserver in Docker, um den Zugriff auf Webdienste zu schützen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn