Wie konfiguriere ich den Nginx-Proxyserver im Docker-Container, um das HTTP/2-Protokoll für Webdienste zu unterstützen?
Einführung
Das HTTP/2-Protokoll ist als aktualisierte Version von HTTP/1.1 durch verbesserte Leistungs- und Sicherheitsfunktionen zum neuen Standard für das Hypertext Transfer Protocol in Webservern geworden. Als leistungsstarker Webserver unterstützt Nginx auch die Verwendung des HTTP/2-Protokolls. In diesem Artikel wird erläutert, wie Sie den Nginx-Proxyserver in einem Docker-Container konfigurieren, um das HTTP/2-Protokoll des Webdienstes zu unterstützen.
Schritt 1: Einen Docker-Container erstellen
Zuerst müssen wir einen Docker-Container auf unserem lokalen Computer erstellen. Sie können einen neuen Container über Docker-Befehle erstellen, zum Beispiel:
docker run -d -p 80:80 --name nginx-proxy nginx:latest
Der obige Befehl erstellt einen Container mit dem Namen nginx-proxy und ordnet Port 80 des lokalen Computers Port 80 im Container zu.
Schritt 2: Geben Sie den Docker-Container ein.
Geben Sie den soeben erstellten Container mit dem folgenden Befehl ein:
docker exec -it nginx-proxy bash
Dieser Befehl öffnet das Bash-Terminal des Nginx-Proxy-Containers.
Schritt 3: Nginx-Konfigurationsdatei bearbeiten
Im Container müssen wir die Nginx-Konfigurationsdatei bearbeiten, um das HTTP/2-Protokoll zu aktivieren. Standardmäßig befindet sich die Konfigurationsdatei von Nginx unter /etc/nginx/nginx.conf. Öffnen Sie die Datei mit einem Texteditor, zum Beispiel:
vim /etc/nginx/nginx.conf
Suchen Sie in der geöffneten Datei das folgende Konfigurationselement:
listen 80;
Dann fügen Sie Folgendes unter der Zeile hinzu, um das HTTP/2-Protokoll zu aktivieren:
listen 443 ssl http2;
Dies Die Konfiguration ändert den Port, den Nginx überwacht, auf 443 und aktiviert die Protokolle SSL und HTTP/2.
Schritt 4: SSL-Zertifikat generieren
Da das HTTP/2-Protokoll die Verwendung einer SSL-verschlüsselten Kommunikation erfordert, müssen wir ein SSL-Zertifikat für Nginx generieren. Sie können das OpenSSL-Tool verwenden, um ein selbstsigniertes Zertifikat zu generieren. Führen Sie den folgenden Befehl im Container aus, um ein SSL-Zertifikat zu generieren:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Der obige Befehl generiert ein selbstsigniertes Zertifikat, das 365 Tage gültig ist, und speichert den privaten Schlüssel in der Datei /etc/nginx/ssl/nginx.key Fügen Sie das Zertifikat in die Datei /etc/nginx/ssl/nginx.crt ein.
Schritt 5: Nginx-Proxyserver konfigurieren
Jetzt müssen wir die Konfigurationsdatei des Nginx-Proxyservers bearbeiten. Normalerweise befindet sich die Konfigurationsdatei des Proxyservers unter /etc/nginx/conf.d/default.conf. Öffnen Sie die Datei mit einem Texteditor, zum Beispiel:
vim /etc/nginx/conf.d/default.conf
Suchen Sie in der geöffneten Datei das folgende Konfigurationselement:
location / { proxy_pass http://backend; }
Dann fügen Sie über dem Konfigurationselement den folgenden Inhalt hinzu, um das SSL-Zertifikat zu definieren und das HTTP/2-Protokoll zu aktivieren :
listen 443 ssl http2; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key;
Diese Konfigurationen weisen Nginx an, das zuvor generierte SSL-Zertifikat zu verwenden und das HTTP/2-Protokoll zu aktivieren.
Schritt 6: Starten Sie den Nginx-Dienst neu
Nach Abschluss der obigen Konfiguration müssen wir den Nginx-Dienst neu starten, damit die Konfiguration wirksam wird. Führen Sie den folgenden Befehl im Container aus, um den Nginx-Dienst neu zu starten:
nginx -s reload
Jetzt wurde der Nginx-Proxyserver konfiguriert und unterstützt Webdienste, die das HTTP/2-Protokoll verwenden.
Fazit
Durch die Schritte in diesem Artikel haben wir den Nginx-Proxyserver im Docker-Container erfolgreich konfiguriert, um das HTTP/2-Protokoll des Webdienstes zu unterstützen. Die Verwendung des HTTP/2-Protokolls kann eine schnellere Leistung und höhere Sicherheit bieten, sodass unsere Webanwendungen in Containern effizienter und zuverlässiger laufen.
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich den Nginx-Proxyserver im Docker-Container, um das HTTP/2-Protokoll für Webdienste zu unterstützen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!