Heim >Backend-Entwicklung >PHP-Tutorial >Wie konfiguriere ich den Nginx-Proxyserver im Docker-Container zur Unterstützung dynamischer SSL-Zertifikate?

Wie konfiguriere ich den Nginx-Proxyserver im Docker-Container zur Unterstützung dynamischer SSL-Zertifikate?

王林
王林Original
2023-09-05 10:48:191002Durchsuche

Wie konfiguriere ich den Nginx-Proxyserver im Docker-Container zur Unterstützung dynamischer SSL-Zertifikate?

So konfigurieren Sie den Nginx-Proxyserver im Docker-Container zur Unterstützung dynamischer SSL-Zertifikate

Einführung
In modernen Webanwendungen ist Sicherheit von entscheidender Bedeutung. Zum Schutz der Benutzerdaten und der Privatsphäre ist die Verschlüsselung der Datenübertragung mittels eines SSL-Zertifikats unerlässlich. In diesem Artikel erfahren Sie, wie Sie den Nginx-Proxyserver in einem Docker-Container konfigurieren, um die automatische Anwendung und Erneuerung dynamischer SSL-Zertifikate zu unterstützen.

Hintergrundwissen
Bevor Sie mit den spezifischen Schritten beginnen, finden Sie hier einige Schlüsselkonzepte, die Sie verstehen müssen:

  • Docker: Eine Containerisierungstechnologie, die eine Anwendung und ihre Abhängigkeiten in einen tragbaren Container namens Container packt.
  • Nginx: eine leistungsstarke Webserver- und Reverse-Proxy-Server-Software.
  • Let's Encrypt: Eine Zertifizierungsstelle, die kostenlose SSL-Zertifikate bereitstellt.

Schritte

Schritt 1: Docker installieren
Bevor Sie beginnen, müssen Sie Docker auf Ihrem System installieren. Sie können die offizielle Docker-Website (https://www.docker.com/) besuchen, um die Installationsanleitung zu erhalten.

Schritt 2: Nginx-Proxy-Server-Container erstellen
Erstellen Sie einen Docker-Container mit dem Namen „nginx-proxy“ auf Ihrem System und ordnen Sie den 80-Port und 443-Port des Hosts dem 80-Port und 443-Port im Container zu.

docker run -d 
  --name nginx-proxy 
  -p 80:80 
  -p 443:443 
  jwilder/nginx-proxy

Schritt 3: Erstellen Sie einen Let's Encrypt-Container
Um automatisch SSL-Zertifikate zu beantragen und zu erneuern, müssen wir einen Let's Encrypt-Container in Docker ausführen. Dieser Container stellt eine Verbindung zum Nginx-Proxyserver-Container her und beantragt und erneuert automatisch SSL-Zertifikate mithilfe des ACME-Protokolls.

Erstellen Sie zunächst einen Docker-Container mit dem Namen „nginx-letsencrypt“ und verbinden Sie ihn mit dem Container „nginx-proxy“.

docker run -d 
  --name nginx-letsencrypt 
  --volumes-from nginx-proxy 
  -v /var/run/docker.sock:/var/run/docker.sock:ro 
  jrcs/letsencrypt-nginx-proxy-companion

Schritt 4: SSL-Zertifikatsgenerierung konfigurieren
Damit der Let's Encrypt-Container automatisch SSL-Zertifikate für Ihre Domainnamen beantragt und aktualisiert, müssen Sie die entsprechenden Umgebungsvariablen für jeden Domainnamen konfigurieren, der ein SSL-Zertifikat verwenden möchte .

Bearbeiten Sie die docker-compose.yml-Datei Ihres App-Containers und fügen Sie den folgenden Code zu Ihrem App-Service hinzu:

environment:
  - VIRTUAL_HOST=your-domain.com
  - LETSENCRYPT_HOST=your-domain.com
  - LETSENCRYPT_EMAIL=your-email-address@example.com

Ersetzen Sie „your-domain.com“ durch Ihren Domainnamen und „your-email-address@example.com“ durch Ihre E-Mail-Adresse.

Schritt 5: Starten Sie den Container neu.
Führen Sie in Ihrem Anwendungsdienstverzeichnis den folgenden Befehl aus, um Ihren Container neu zu starten:

docker-compose up -d

Wenn alles gut geht, beantragt und aktualisiert Ihr Nginx-Proxyserver-Container automatisch SSL für Ihr Domänennamenzertifikat. Sie können überprüfen, ob das SSL-Zertifikat erfolgreich installiert wurde, indem Sie https://your-domain.com besuchen.

Fazit
Durch die Konfiguration des Nginx-Proxyservers im Docker-Container können wir automatisch SSL-Zertifikate beantragen und aktualisieren, um die Sicherheit von Netzwerkanwendungen zu verbessern. Diese Methode der dynamischen SSL-Zertifikatsverwaltung stellt sicher, dass Ihre Anwendung immer ein gültiges SSL-Zertifikat verwendet und so Benutzerdaten und Privatsphäre schützt.

So konfigurieren Sie den Nginx-Proxyserver in einem Docker-Container, um dynamische SSL-Zertifikate zu unterstützen. Hoffe das hilft!

Das obige ist der detaillierte Inhalt vonWie konfiguriere ich den Nginx-Proxyserver im Docker-Container zur Unterstützung dynamischer SSL-Zertifikate?. 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