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.
Erstellen Sie ein neues Docker-Netzwerk für die Kommunikation zwischen Containern:
docker network create nginx-proxy
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
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.
5. Überprüfen Sie die Konfiguration
Ä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
6. Zugriffsrechte auf Webdienste schützen
Um Zugriffsrechte auf Webdienste zu schützen, können wir die Basisauthentifizierungsfunktion von Nginx verwenden.
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.
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
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!