Schritte zum Konfigurieren von Nginx SSL zur Implementierung des HTTPS-Zugriffs (für Anfänger geeignet)

Schritte zum Konfigurieren von Nginx SSL zur Implementierung des HTTPS-Zugriffs (für Anfänger geeignet)

Vorwort

Nach der Bereitstellung des Servers besuchte ich meine Website mit großer Freude und war mit allem, was ich sah, zufrieden. Als die Aufregung jedoch nachließ, wurde mir klar: „Hey, warum erscheint in der oberen linken Ecke des Browsers die Meldung, dass er nicht sicher ist?“ Nach längerem Überlegen habe ich entschieden, nein, ich möchte auch https einrichten und sperren!

Das HTTP-Protokoll sendet Inhalte im Klartext und bietet keinerlei Form der Datenverschlüsselung. Um die Sicherheit der Datenübertragung zu gewährleisten, ergänzt HTTPS das auf HTTP basierende SSL-Protokoll. SSL verwendet Zertifikate zur Überprüfung der Identität des Servers und verschlüsselt die Kommunikation zwischen Browser und Server.

Zertifikat beantragen

Hier beantrage ich direkt das kostenlose Zertifikat von Tencent Cloud. Hierbei ist zu beachten, dass das kostenlose Zertifikat der Asian Integrity Agency nur für einen Domänennamen genutzt werden kann, Subdomänen müssen gesondert beantragt werden. Wissen Sie was? Der Bewerbungsprozess bei Tencent ist ziemlich schnell. Die Genehmigung erfolgte in etwas mehr als zehn Minuten. Die heruntergeladene Datei ist eine ZIP-Datei. Öffnen Sie nach dem Entpacken den darin enthaltenen Nginx-Ordner und kopieren Sie die Dateien 1_XXX.com_bundle.crt und 2_XXX.com.key.

Öffnen Sie die Nginx-Konfigurationsdatei

Wenn Sie den Speicherort der Nginx-Datei nicht kennen, können Sie sie mit dem Befehl „whereis nginx“ finden.

Meine Konfigurationsdatei liegt in /ect/nginx. Kopiere nun die beiden Zertifikatsdateien und konfiguriere diese direkt. Die Konfigurationsdatei von nginx ist nginx.conf. Der Konfigurationsinhalt ist wie folgt. Zum leichteren Verständnis habe ich Kommentare hinzugefügt.

# Der Standardbenutzer ist nginx, Sie müssen also den Benutzer nginx nicht festlegen;
#Nginx-Prozess, normalerweise auf die gleiche Anzahl von CPU-Kernen eingestellt worker_processes 1;

#Fehlerprotokoll-Speicherverzeichnis error_log /var/log/nginx/error.log warn;
#Prozess-PID-Speicherort pid /var/run/nginx.pid;

Ereignisse {
 worker_connections 1024; # Maximale Anzahl gleichzeitiger Verbindungen für einen einzelnen Hintergrundprozess}

http {
 include /etc/nginx/mime.types; #Dateierweiterung und Typzuordnungstabelle default_type application/octet-stream; #Standarddateityp #Protokollmodus festlegen log_format main '$remote_addr - $remote_user [$time_local] "$request" '
   '$status $body_bytes_sent "$http_referer" '
   '"$http_user_agent" "$http_x_forwarded_for"';

 access_log /var/log/nginx/access.log main; #Speicherort des nginx-Zugriffsprotokolls sendfile on; #Effizienten Übertragungsmodus aktivieren #tcp_nopush on; #Anzahl der Netzwerksegmente reduzieren keepalive_timeout 65; #Die Zeit zum Aufrechterhalten der Verbindung, auch Timeout-Zeit genannt #gzip on; #Gzip-Komprimierung aktivieren include /etc/nginx/conf.d/*.conf; #Speicherort und Datei des enthaltenen Unterkonfigurationselements}

Werfen Sie einfach einen kurzen Blick darauf, dies ist die globale Konfiguration. Zur besseren Verwaltung konfigurieren wir die Unterprojekte weiterhin im in der letzten Zeile deklarierten Ordner /etc/nginx/conf.d.

Öffnen Sie die Datei default.conf.

#Konfigurationsserver für virtuellen Host festlegen {
 #Hören Sie auf Port 443, dies ist der SSL-Zugriffsport „Hören Sie auf 443“;
 #Definieren Sie den Domänennamen Servername XXX.com, der für den Zugriff verwendet werden soll;
 #Definieren Sie den Standardspeicherort des Website-Stammverzeichnisses des Servers: root /web/www/website/dist; 

 #Legen Sie das Zugriffsprotokoll dieses virtuellen Hosts fest access_log logs/nginx.access.log main;

 # Dies sind die von Tencent Cloud empfohlenen Konfigurationen. Sie können sie direkt verwenden. Ändern Sie einfach den Zertifikatspfad. Beachten Sie, dass diese Pfade relativ zum Speicherort der Datei /etc/nginx/nginx.conf sind. ssl on;
 SSL-Zertifikat 1_XXX.com_bundle.crt;
 SSL-Zertifikatsschlüssel 2_XXX.com.key;
 SSL-Sitzungszeitüberschreitung 5 Min.
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #Konfigurieren Sie gemäß diesem Protokoll ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #Konfigurieren Sie gemäß dieser Suite ssl_prefer_server_ciphers on;

 #Standardanforderungsort / { 
 Stammverzeichnis /web/www/website/dist; 
 #Definieren Sie den Namen der Homepage-Indexdatei index.html;
 }

 #Statische Dateien, nginx verarbeitet sie selbst location ~ ^/(images|javascript|js|css|flash|media|static)/ {
 #Das Ablaufdatum beträgt 30 Tage. Statische Dateien werden selten aktualisiert. Sie können ein längeres Ablaufdatum festlegen.
 #Wenn Sie häufig aktualisieren, können Sie es kleiner einstellen.
 läuft in 30 Tagen ab;
 }

 #Zugriff auf .htxxx-Dateien verbieten# location ~ /.ht {
 # alles ablehnen;
 #}

}
Server
{
 # Port 80 ist die normale Zugriffsschnittstelle von http listen 80;
 Servername XXX.com;
 # Hier habe ich eine vollständige Verschlüsselung auf https durchgeführt und springe beim Zugriff auf http automatisch zu https
 umschreiben ^(.*) https://$host$1 permanent;
}

Das ist im Grunde die gesamte Konfiguration. Es ist ziemlich einfach. Wohlfahrt für Neueinsteiger.

Dann schreiben wir die Konfigurationsdatei und testen sie mit nginx

nginx -t

Das ist alles. Danach können Sie nginx neu starten, damit die Änderungen wirksam werden.

Hierbei ist zu beachten, dass nach dem Importieren des neuen Zertifikats ein Neustart und kein Neuladen erforderlich ist. nginx -s reload ist ein normales Neuladen einer Konfigurationsänderung.

# Stoppen Sie nginx
nginx -s stoppen
# Starten Sie nginx

Nach dem Neustart besuchte ich meine Website erneut. Wow, sie war perfekt. In der oberen linken Ecke war ein Schloss, das auf eine sichere Verbindung hinwies. Oh, fertig, glücklich.

Tägliche Nginx-Betriebsbefehle

  • nginx -t Testkonfigurationsdatei
  • nginx -s reload, um die Konfiguration nach der Änderung wirksam zu machen
  • nginx -s reopen, um die Protokolldatei erneut zu öffnen
  • nginx -s stop Schnellstopp
  • nginx -s beenden

Nginx-Prozess anzeigen

ps -ef | grep nginx

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. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der SSL-Modulkonfiguration von Nginx zur Unterstützung des HTTPS-Zugriffs
  • Detaillierte Erläuterung der Nginx-Konfiguration des SSL-Zertifikats zur Erlangung des HTTPS-Zugriffs
  • So konfigurieren Sie ein SSL-Zertifikat in Nginx, um den HTTPS-Dienst zu implementieren
  • Beispiel für die Konfiguration von Nginx mit SSL-Zertifikat zur Implementierung des HTTPS-Zugriffs
  • So konfigurieren Sie Nginx mit einem SSL-Zertifikat zum Bereitstellen einer HTTPS-Website (Ausstellen des Zertifikats)
  • SSL-Verschlüsselung in der Nginx-Umgebung konfigurieren (Ein- und Zweiwege-Authentifizierung, teilweises https)
  • So konfigurieren Sie Nginx mithilfe des SSL-Moduls für die Unterstützung des HTTPS-Zugriffs
  • Konfiguration des SSL-Zertifikats für den Nginx-Domänennamen (Website-HTTP auf https aktualisiert)
  • Nginx konfiguriert SSL, um den gesamten HTTPS-Prozess zu implementieren

<<:  Detaillierte Schritte zur Installation von mysql5.7.18 auf dem Mac

>>:  Implementierung eines Puzzlespiels mit js

Artikel empfehlen

JS realisiert Spezialeffekte der Webseiten-Navigationsleiste

In diesem Artikel erfahren Sie mehr über einen pr...

Grundlagen der HTML-Bearbeitung (ein Muss für Anfänger)

Öffnen Sie DREAMWEAVER und erstellen Sie ein neue...

MySQL-Datenbanktabellendesign mit Baumstruktur

Inhaltsverzeichnis Vorwort 1. Basisdaten 2. Verer...

Implementierung einer coolen 3D-Würfeltransformationsanimation in CSS3

Ich liebe das Programmieren, es macht mich glückl...

Implementierungsfallcodeanalyse für dynamische und statische Trennung von Nginx

Trennung von statischer und dynamischer Dynamisch...

VMware Workstation 12 installiert Ubuntu 14.04 (64 Bit)

1. Installationsumgebung Computermodell: Lenovo Y...

HTML ist die zentrale Grundlage für die Entwicklung von WEB-Standards

HTML-zentrierte Front-End-Entwicklung entspricht p...

Praktischer Bericht über die Entwicklung von Vue3- und TypeScript-Projekten

Inhaltsverzeichnis Überblick 1. Kompositions-API ...

mysql8.0.23 msi Installation super ausführliches Tutorial

1. Laden Sie MySql herunter und installieren Sie ...