Einfache Schritte zum Konfigurieren des Nginx-Reverse-Proxys mit SSL

Einfache Schritte zum Konfigurieren des Nginx-Reverse-Proxys mit SSL

Vorwort

Ein Reverse-Proxy ist ein Server, der über das Internet gestellte Anfragen (sowohl http als auch https) empfängt und sie dann an einen (oder mehrere) Backend-Server sendet. Der Backend-Server kann ein einzelner oder eine Gruppe von Anwendungsservern wie Tomcat, Wildfly oder Jenkins usw. sein, oder es können sogar andere Webserver wie Apache usw. sein.

Wir haben besprochen, wie man mit Nginx einen einfachen HTTP-Reverse-Proxy konfiguriert. In diesem Tutorial besprechen wir, wie man den Nginx-Reverse-Proxy mit SSL konfiguriert. Beginnen wir also mit der Konfiguration des Nginx-Reverse-Proxys mit SSL.

Voraussetzungen

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

Hinweis: – Wenn Sie mit der Weiterleitung von Anforderungen per Proxy beginnen, stellen Sie sicher, dass der Anwendungsserver gestartet ist.

2. SSL-Zertifikat: Wir müssen auch das SSL-Zertifikat auf dem Server konfigurieren. Wir können ein Let’s Encrypt-Zertifikat verwenden, Sie können eines mit dem hier beschriebenen Verfahren erhalten. Für dieses Tutorial verwenden wir jedoch ein selbstsigniertes Zertifikat, das durch Ausführen des folgenden Befehls im Terminal 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 zur Konfiguration des Nginx Reverse Proxy mit SSL ist die Installation von Nginx.

Installieren Sie Nginx

Ubuntu

Nginx ist in den Standard-Ubuntu-Repositorys verfügbar. So einfach ist das. Installieren Sie es mit dem folgenden Befehl:

$ sudo apt-get update und sudo apt-get installiere nginx

Starten Sie nun den Dienst und aktivieren Sie ihn für den Bootvorgang.

# systemctl starte nginx 
 
# systemctl nginx aktivieren

Um nun die Nginx-Installation zu überprüfen, können wir einen Webbrowser öffnen und die System-IP als URL eingeben, um die Standard-Nginx-Webseite zu erhalten, die bestätigt, dass Nginx einwandfrei funktioniert.

Konfigurieren Sie den Nginx-Reverseproxy mit SSL

Jetzt haben wir alles, was wir brauchen, um den Nginx-Reverse-Proxy mit SSL zu konfigurieren. Wir müssen dies jetzt in nginx konfigurieren. Wir verwenden die Standardkonfigurationsdatei von nginx, nämlich /etc/nginx/conf.d/default.conf.

Angenommen, dies ist das erste Mal, dass wir Änderungen an der Konfiguration vornehmen, öffnen Sie die Datei und löschen oder kommentieren Sie den gesamten alten Dateiinhalt aus. Fügen Sie anschließend die folgenden Einträge in die Datei ein.

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

Server { 
 
hören Sie 80; 
 
gibt 301 https://$host$request_uri zurück; 
 
} 
 
 
 
 
Server { 
 
hören Sie 443; 
 
Servername linuxtechlab.com; 
 
SSL-Zertifikat /etc/nginx/ssl/cert.crt; 
 
 
 
 
SSL-Zertifikatsschlüssel /etc/nginx/ssl/cert.key; 
 
SSL aktiviert; 
 
ssl_session_cache integriert: 1000 geteilt: SSL: 10m; 
 
SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2; 
 
ssl_ciphers HOCH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; 
 
ssl_prefer_server_ciphers ein; 
 
Zugriffsprotokoll /var/log/nginx/access.log; 
 
 
 
 
Standort / { 
 
Proxy_Set_Header Host $host; 
 
Proxy_Set_Header X-Real-IP $Remote_Addr; 
 
proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; 
 
Proxy_set_header X-Weitergeleitet-Proto $scheme; 
 
Proxy-Passwort http://localhost:8080; 
 
Proxy_Lese_Timeout 90; 
 
Proxy-Umleitung http://localhost:8080 https://linuxtechlab.com; 
 
} 
 
}

Wenn Sie alle Änderungen vorgenommen haben, speichern Sie die Datei und beenden Sie sie. Bevor wir den Nginx-Dienst neu starten, um die vorgenommenen Änderungen umzusetzen, gehen wir die vorgenommene Konfiguration Abschnitt für Abschnitt durch.

Abschnitt 1

Server { 
hören Sie 80; 
gibt 301 https://$host$request_uri zurück; 
}

Hier sagen wir uns, dass wir auf Anfragen an Port 80 warten und sie dann auf https umleiten sollen.

Abschnitt 2

hören Sie 443; 
 
Servername linuxtechlab.com; 
 
SSL-Zertifikat /etc/nginx/ssl/cert.crt; 
 
SSL-Zertifikatsschlüssel /etc/nginx/ssl/cert.key; 
 
SSL aktiviert; 
 
ssl_session_cache integriert: 1000 geteilt: SSL: 10m; 
 
SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2; 
 
ssl_ciphers HOCH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; 
 
ssl_prefer_server_ciphers ein;

Dies sind einige der von uns verwendeten Standard-SSL-Optionen von Nginx, die dem Nginx-Webserver mitteilen, welche Protokollversion und SSL-Chiffren unterstützt werden.

Abschnitt 3

Standort / { 
 
Proxy_Set_Header Host $host; 
 
Proxy_Set_Header X-Real-IP $Remote_Addr; 
 
proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; 
 
Proxy_set_header X-Weitergeleitet-Proto $scheme; 
 
Proxy-Passwort http://localhost:8080; 
 
Proxy_Lese_Timeout 90; 
 
Proxy-Umleitung http://localhost:8080 https://linuxtechlab.com; 
 
}

In diesem Abschnitt werden Proxys beschrieben und erläutert, wohin eingehende Anfragen nach ihrem Eingang weitergeleitet werden. Nachdem wir nun alle Konfigurationen besprochen haben, werden wir den Nginx-Dienst überprüfen und anschließend neu starten.

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

# nginx -t

Sobald alle unsere Konfigurationsdateien in Ordnung sind, werden wir den nginx-Dienst neu starten

# systemctl nginx neu starten

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

Damit ist unser Tutorial zur Konfiguration des Nginx Reverse Proxy mit SSL abgeschlossen.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Vollständiger Prozessbericht der Nginx-Reverse-Proxy-Konfiguration
  • Detaillierte Erläuterung der Nginx-Konfigurationsparameter auf Chinesisch (Lastausgleich und Reverse-Proxy)
  • Konfigurationscodebeispiel für Nginx-Forward- und Reverse-Proxy sowie Lastausgleichsfunktionen
  • Nginx Reverse-Proxy-Konfiguration entfernt Präfix
  • Detaillierte Schritte zur Yum-Konfiguration des Nginx-Reverse-Proxys
  • Detaillierte Erläuterung der Nginx Reverse Proxy WebSocket-Konfiguration
  • Eine universelle Nginx-Schnittstelle zur Implementierung der Reverse-Proxy-Konfiguration
  • Tutorial: Nginx-Reverse-Proxy-Konfiguration zum Entfernen von Präfixen

<<:  WeChat Mini-Programm: Position des Videofeuers zufällig

>>:  Grafisches Tutorial (Fenster) zur Installation und Konfiguration von MySQL 5.7.21

Artikel empfehlen

MySQL Serie 12 Backup und Wiederherstellung

Inhaltsverzeichnis Tutorial-Reihe 1. Beschreibung...

Unterschiede zwischen FLOW CHART und UI FLOW

Viele Konzepte im UI-Design mögen in der Formulie...

Zusammenfassung der Nginx-Konfigurationsstandortmethode

Standortabgleichsreihenfolge 1. Übereinstimmung m...

Implementierung einer kreisförmigen CSS-Aushöhlung (Gutschein-Hintergrundbild)

In diesem Artikel werden hauptsächlich kreisförmi...

vue3.0 + echarts realisiert dreidimensionales Säulendiagramm

Vorwort: Vue3.0 implementiert dreidimensionales S...

Diskussion zu Bildpfadproblemen in CSS (dasselbe Paket/anderes Paket)

In CSS-Dateien müssen Sie manchmal einen Hintergru...

MySQL5.6.31 winx64.zip Installations- und Konfigurationstutorial

#1. Herunterladen # #2. Entpacken Sie die Datei l...

Der eigentliche Prozess der Implementierung des Zahlenrätsels im WeChat-Applet

Inhaltsverzeichnis Funktionseinführung Rendern 1....

Was sind die neuen CSS-Pseudoklassenfunktionen :where und :is?

Was sind :is und :where? :is() und :where() sind ...