Heim >Backend-Entwicklung >PHP-Tutorial >Wie konfiguriere ich den Nginx-Proxyserver im Docker-Container, um das HTTP/2-Protokoll für Webdienste zu unterstützen?

Wie konfiguriere ich den Nginx-Proxyserver im Docker-Container, um das HTTP/2-Protokoll für Webdienste zu unterstützen?

WBOY
WBOYOriginal
2023-09-05 14:49:051632Durchsuche

Wie konfiguriere ich den Nginx-Proxyserver im Docker-Container, um das HTTP/2-Protokoll für Webdienste zu unterstützen?

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!

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