So konfigurieren Sie den Nginx-Reverse-Proxy mit SSL

PHPz
Freigeben: 2023-05-13 15:19:15
nach vorne
1480 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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

# systemctl start nginx 
 
# systemctl enable nginx
Nach dem Login kopieren

Ü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; 
 
} 
 
}
Nach dem Login kopieren

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; 
}
Nach dem Login kopieren

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;
Nach dem Login kopieren

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; 
 
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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

# systemctl restart nginx
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage