Vorwort:Lassen Sie mich zunächst kurz erklären, warum wir jetzt das HTTPS-Protokoll verwenden: Tatsächlich besteht der Hauptgrund für die Verwendung des HTTPS-Protokolls darin, dass das HTTP-Protokoll nicht sicher ist, da die Datenübertragung über HTTP Folgendes ist: Daten werden im Klartext übertragen , d. h. wenn der Client Benutzername und Kennwort eingibt, werden diese angezeigt. Das HTTPS-Protokoll hingegen verwendet Geheimtext zur Datenübertragung , was bedeutet, dass die Daten während der Übertragung verschlüsselt werden.
Verschlüsselungsalgorithmus:
1. Einführung in HTTPSHTTPS besteht eigentlich aus zwei Teilen: HTTP + SSL/TLS, was bedeutet, dass zu HTTP ein Modul zur Verarbeitung verschlüsselter Informationen hinzugefügt wird. Die Informationsübertragung zwischen Server und Client wird per TLS verschlüsselt, die übertragenen Daten sind also verschlüsselte Daten. HTTPS-Protokollprinzip:
2. Nginx implementiert HTTPS-Website-Einstellungen1. Installieren Sie Nginx[root@Nginx ~]# yum -y installiere pcre-devel zlib-devel popt-devel openssl-devel openssl [root@Nginx ~]# wget http://www.nginx.org/download/nginx-1.18.0.tar.gz [root@Nginx ~]# ls anaconda-ks.cfg nginx-1.18.0.tar.gz [root@Nginx ~]# tar zxf nginx-1.18.0.tar.gz -C /usr/src/ [root@Nginx ~]# cd /usr/src/nginx-1.18.0/ [root@Nginx nginx-1.18.0]# useradd -M -s /sbin/nologin nginx [root@Nginx nginx-1.18.0]# ./konfigurieren \ --prefix=/usr/local/nginx \ --Benutzer=nginx \ --group=nginx \ --mit-Datei-aio \ --mit-http_stub_status_module \ --mit-http_gzip_static_module \ --mit-http_flv_module \ --mit-http_ssl_module \ --with-pcre && make && make install [root@Nginx nginx-1.18.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ [root@Nginx nginx-1.18.0]# cd [root@Nginx ~]# nginx [root@Nginx ~]# netstat -anpt | grep 80 2. Erstellen Sie eine Server-Zertifikatschlüsseldatei[root@Nginx ~]# openssl genrsa -des3 -out server.key 1024 ... Geben Sie die Passphrase für den Serverschlüssel ein: # Geben Sie das Passwort ein. Überprüfen - Geben Sie die Passphrase für den Serverschlüssel ein: # Bestätigen Sie das Passwort 3. Erstellen Sie eine Anwendungsdatei für das Serverzertifikat[root@Nginx ~]# openssl req -new -key server.key -out server.csr Geben Sie die Passphrase für den Serverschlüssel ein: # Geben Sie das zuvor erstellte Passwort ein … Ländername (2-Buchstaben-Code) [XX]:CN # Ländercode. China gibt CN ein Name des Staates oder der Provinz (vollständiger Name) []:Peking # Vollständiger Name der Provinz. PinyinOrtsname (z. B. Stadt) [Standard Stadt]:Peking # Vollständiger Name der Stadt. PinyinOrganisationsname (z. B. Unternehmen) [Standard Company Ltd]:Coco # Englischer FirmennameName der Organisationseinheit (z. B. Abschnitt) []: # Sie können es leer lassenAllgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:www.Coco.com # DomänennameE-Mail-Adresse []:[email protected] # E-Mail-Adresse. Sie können gerne Folgendes ausfüllen... Ein Challenge-Passwort []: # Dies ist optional. Ein optionaler Firmenname []: # Dies ist optional. Sichern einer Server-Schlüsseldatei [root@Nginx ~]# cp server.key server.key.org Dateikennwort entfernen [root@Nginx ~]# openssl rsa -in server.key.org -out server.key Geben Sie die Passphrase für server.key.org ein: # 4. Zertifikatsdateien generieren[root@Nginx ~]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt Unterschrift ok Betreff=/C=CN/ST=Beijing/L=Beijing/O=Coco/CN=www.Coco.com/[email protected] Privaten Schlüssel abrufen 5. Ändern Sie die Nginx-Hauptkonfigurationsdatei[root@Nginx ~]# mkdir -p /usr/local/nginx/conf/ssl [root@Nginx ~]# cp server.crt server.key /usr/local/nginx/conf/ssl/ [root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf Server { listen 443; # Abhörport SSL ein; # SSL aktivieren ssl_certificate ssl/server.crt; # PS: Ich verwende hier einen relativen Pfad. Sie können einen absoluten Pfad verwenden ssl_certificate_key ssl/server.key; # Das System sucht im Verzeichnis /usr/local/nginx/conf/ nach dem Servernamen www.Coco.com; # Der dem Zertifikat entsprechende Domänenname ... } [root@Nginx ~]# nginx -s reload # Nginx-Dienst neu starten Überprüfung: Besuchen Sie den Domänennamen, den Sie gerade festgelegt haben Implementieren Sie die Umleitung des Client-Zugriffs von
Fehlkonfiguration: Es stellt kein logisches Problem dar, mehrere Ports auf demselben Problem : Wenn der Client auf Server { hören Sie 80; hören Sie 443; Servername www.Coco.com; Stamm-HTML; Index Index.html Index.htm; schreibe ^(.*)$ https://$host$1 permanent um; } Richtige Konfiguration:
[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf Server { hören Sie 80; Servername www.Coco.com; schreibe ^(.*)$ https://$host$1 permanent um; ... } Server { hören Sie 443; SSL aktiviert; SSL-Zertifikat ssl/server.crt; SSL-Zertifikatsschlüssel ssl/server.key; Servername www.Coco.com; ... } [root@localhost ~]# nginx -s neu laden Überprüfung: Besuchen Sie Damit ist dieser Artikel über die Schritte zum Einrichten einer HTTPS-Website auf Basis von Nginx abgeschlossen. Weitere Informationen zu den HTTPS-Websiteeinstellungen von Nginx finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Beispielcode zur Implementierung mobiler Expansions- und Collapse-Effekte mit reinem CSS3
>>: Kennen Sie die häufigsten MySQL-Designfehler?
1. Vue – Das erste Vue-CLI-Programm Die Entwicklu...
Vorwort Ich bin kürzlich bei der Arbeit auf diese...
Aus SEO- und Sicherheitsgründen ist eine 301-Weit...
1. Gehen Sie zur offiziellen Website, um das Inst...
Wenn Sie an einem gemeinsam genutzten System arbe...
In diesem Artikel wird der spezifische Code von J...
Inhaltsverzeichnis Erstellen von OAuth-Apps Holen...
Dieser Artikel beschreibt anhand eines Beispiels,...
Inhaltsverzeichnis Primärschlüsseleinschränkung E...
Inhaltsverzeichnis 1. Über die visuelle Schnittst...
Was ist eine HTML-Datei? HTML steht für Hyper Text...
Zweck: Station A als sekundäres Verzeichnis von S...
Inhaltsverzeichnis Vorwort 1. JDBC-Timeout-Einste...
Wenn ein Div gleichzeitig Hintergrundfarbe und Hi...
Der Code demonstriert die horizontale Zusammenfüh...