Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie den Nginx-Reverse-Proxy mit SSL

So konfigurieren Sie den Nginx-Reverse-Proxy mit SSL

PHPz
PHPznach vorne
2023-05-13 15:19:151475Durchsuche

Voraussetzungen

1. Backend-Server: Für dieses Tutorial verwenden wir einen Tomcat-Server, der auf localhost auf Port 8080 läuft.

HINWEIS: - Wenn Sie mit der Weiterleitung von Anfragen beginnen, stellen Sie sicher, dass die Anwendung der Server ist hat begonnen.

2.ssl-Zertifikat: Wir müssen auch das SSL-Zertifikat auf dem Server konfigurieren. Wir können das Verschlüsselungszertifikat von let's encrypt verwenden. Sie können eines mit dem hier genannten Programm erhalten. Für dieses Tutorial verwenden wir jedoch ein selbstsigniertes Zertifikat, das durch Ausführen des folgenden Befehls vom Terminal aus erstellt werden kann:

$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/certs/cert.key -out /etc/nginx/certs/cert.crt

Der nächste Schritt bei der Konfiguration des Nginx-Reverse-Proxys mit SSL ist die Nginx-Installation,

install nginx

Ubuntu

nginx ist im Standard-Ubuntu-Repository verfügbar. Ganz einfach, installieren Sie es mit dem folgenden Befehl:

$ sudo apt-get update && sudo apt-get install nginx

Starten Sie nun den Dienst und aktivieren Sie ihn für den Start,

# systemctl start nginx 
 
# systemctl enable nginx

Überprüfen Sie nun die Nginx-Installation. Wir können den Webbrowser öffnen und die System-IP als URL eingeben, um die Standardeinstellung zu erhalten Nginx-Webseite. Bestätigen Sie, dass Nginx ordnungsgemäß funktioniert.

Konfigurieren Sie den Nginx-Reverse-Proxy mit SSL.

Jetzt haben wir alles, was wir zum Konfigurieren des Nginx-Reverse-Proxy mit SSL benötigen. Wir müssen jetzt in Nginx konfigurieren. Wir verwenden die Standard-Nginx-Konfigurationsdatei, die /etc/nginx/conf.d/default.conf lautet.

Angenommen, dies ist das erste Mal, dass wir Änderungen an der Konfiguration vornehmen, öffnen Sie die Datei löschen und alle alten Dateiinhalte löschen oder auskommentieren und die folgenden Einträge in die Datei einfügen.

vi /etc/nginx/conf.d/default.conf

server { 
 
listen 80; 
 
return 301 https://$host$request_uri; 
 
} 
 
 
 
 
server { 
 
listen 443; 
 
server_name linuxtechlab.com; 
 
ssl_certificate /etc/nginx/ssl/cert.crt; 
 
 
 
 
ssl_certificate_key /etc/nginx/ssl/cert.key; 
 
ssl on; 
 
ssl_session_cache builtin:1000 shared:ssl:10m; 
 
ssl_protocols tlsv1 tlsv1.1 tlsv1.2; 
 
ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; 
 
ssl_prefer_server_ciphers on; 
 
access_log /var/log/nginx/access.log; 
 
 
 
 
location / { 
 
proxy_set_header host $host; 
 
proxy_set_header x-real-ip $remote_addr; 
 
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; 
 
proxy_set_header x-forwarded-proto $scheme; 
 
proxy_pass http://localhost:8080; 
 
proxy_read_timeout 90; 
 
proxy_redirect http://localhost:8080 https://linuxtechlab.com; 
 
} 
 
}

Speichern Sie nach Abschluss aller Änderungen die Datei und beenden Sie den Vorgang. Wir werden die von uns vorgenommene Konfiguration Abschnitt für Abschnitt besprechen, bevor wir den Nginx-Dienst neu starten, um die Änderungen zu implementieren.

Abschnitt 1

server { 
listen 80; 
return 301 https://$host$request_uri; 
}

Hier weisen wir uns an, auf alle Anfragen an Port 80 zu warten und diese dann an https weiterzuleiten.

Abschnitt 2

listen 443; 
 
server_name linuxtechlab.com; 
 
ssl_certificate /etc/nginx/ssl/cert.crt; 
 
ssl_certificate_key /etc/nginx/ssl/cert.key; 
 
ssl on; 
 
ssl_session_cache builtin:1000 shared:ssl:10m; 
 
ssl_protocols tlsv1 tlsv1.1 tlsv1.2; 
 
ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; 
 
ssl_prefer_server_ciphers on;

Dies sind nun einige standardmäßige Nginx-SSL-Optionen, die wir verwenden. Sie teilen dem Nginx-Webserver mit, welche Protokollversion und SSL-Verschlüsselung unterstützt wird.

Abschnitt 3

location / { 
 
proxy_set_header host $host; 
 
proxy_set_header x-real-ip $remote_addr; 
 
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; 
 
proxy_set_header x-forwarded-proto $scheme; 
 
proxy_pass http://localhost:8080; 
 
proxy_read_timeout 90; 
 
proxy_redirect http://localhost:8080 https://linuxtechlab.com; 
 
}

In diesem Abschnitt geht es nun um Proxys und darum, wohin eingehende Anfragen weitergeleitet werden, sobald sie eingehen. Nachdem wir nun die gesamte Konfiguration besprochen haben, werden wir den Nginx-Dienst überprüfen und dann neu starten.

Um Nginx zu überprüfen, führen Sie den folgenden Befehl aus:

# nginx -t

Sobald alle unsere Konfigurationsdateien in Ordnung sind, starten wir den Nginx-Dienst neu.

# systemctl restart nginx

Das war's, unser SSL-Nginx-Reverse-Proxy ist jetzt bereit. Um nun die Einrichtung zu testen, müssen Sie nur noch einen Webbrowser öffnen und die URL eingeben. Wir sollten jetzt zur Apache Tomcat-Webseite weitergeleitet werden.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie den Nginx-Reverse-Proxy mit SSL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen