Die Bereitstellung von Diensten in Docker erfreut sich immer größerer Beliebtheit. Darüber hinaus erfordern viele Dienste zum Schutz der Datensicherheit die Verwendung von SSL. In diesem Artikel wird erläutert, wie Sie SSL zu Diensten unter Docker hinzufügen.
Zuerst müssen wir einige notwendige Tools vorbereiten, darunter:
Bitte stellen Sie sicher, dass Sie Docker und Docker Compose installiert haben. Wenn nicht, installieren Sie bitte zuerst diese beiden Tools.
Wir können Certbot verwenden, um ein SSL-Zertifikat zu erhalten. Certbot ist ein kostenloses Open-Source-Tool zur Ausstellung von SSL-Zertifikaten, das die meisten Betriebssysteme und Webserver unterstützt.
Zuerst müssen wir Certbot mit dem folgenden Befehl installieren:
sudo apt-get update sudo apt-get install certbot
Als nächstes müssen wir das SSL-Zertifikat mit dem folgenden Befehl abrufen:
sudo certbot certonly --standalone -d example.com
Hier ist example.com Ihr Domainname. Wenn Sie diesen Befehl ausführen, startet Certbot einen Webserver und überprüft Ihren Domänennamen. Wenn die Überprüfung erfolgreich ist, stellt Certbot ein SSL-Zertifikat aus und speichert es im Verzeichnis /etc/letsencrypt/live/example.com.
Als nächstes müssen wir das SSL-Zertifikat auf unseren Docker-Dienst anwenden. Hier verwenden wir einen Beispieldienst (Nginx). Sie können auf ähnliche Weise ein SSL-Zertifikat auf Ihren Docker-Dienst anwenden.
Zuerst müssen wir die folgenden Umgebungsvariablen in der Docker Compose-Datei hinzufügen:
services: nginx: image: nginx environment: - VIRTUAL_HOST=example.com - VIRTUAL_PORT=80 - LETSENCRYPT_HOST=example.com - LETSENCRYPT_EMAIL=your_email@example.com
Wobei VIRTUAL_HOST und VIRTUAL_PORT den Hostnamen und Port definieren, den der Dienst verwenden soll. LETSENCRYPT_HOST und LETSENCRYPT_EMAIL sind unser Domainname bzw. unsere E-Mail-Adresse.
Als nächstes müssen wir das folgende Volume in der Docker Compose-Datei hinzufügen:
services: nginx: image: nginx volumes: - /etc/letsencrypt:/etc/letsencrypt:ro ...
Dadurch können wir das SSL-Zertifikat im Docker-Container verwenden.
Abschließend müssen wir der Nginx-Konfigurationsdatei Folgendes hinzufügen:
server { listen 80; server_name example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; location / { ... } }
Hier leiten wir Port 80 auf Port 443 um und konfigurieren den SSL-Zertifikatspfad. Sie müssen den Zertifikatspfad durch Ihren eigenen ersetzen.
Jetzt sind wir bereit, unseren Docker-Dienst zu starten. Führen Sie den folgenden Befehl über die Befehlszeile aus:
docker-compose up -d
Dadurch wird unser Docker-Dienst gestartet und das SSL-Zertifikat automatisch an den Dienst gebunden.
Zusammenfassend lässt sich sagen, dass das Hinzufügen von SSL zu Docker-Diensten tatsächlich eine wichtige Aufgabe ist, die Ihre Dienste sicherer machen kann. Solange Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie Ihren Dienst sicherer machen.
Das obige ist der detaillierte Inhalt vonSo fügen Sie SSL zu Diensten unter Docker hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!