1. Der Unterschied zwischen HTTP und HTTPS HTTP: Dies ist das am weitesten verbreitete Netzwerkprotokoll im Internet. Es ist ein Standard für Client- und Serveranforderungen und -antworten (TCP). Es ist ein Übertragungsprotokoll zum Übertragen von Hypertext von WWW-Servern an lokale Browser. Es kann Browser effizienter machen und die Netzwerkübertragung reduzieren. HTTPS: Dies ist ein HTTP-Kanal mit dem Ziel der Sicherheit. Einfach ausgedrückt handelt es sich um eine sichere Version von HTTP, d. h., unter HTTP wird eine SSL-Schicht hinzugefügt. Die Sicherheitsgrundlage von HTTPS ist SSL, daher ist SSL für verschlüsselte Details erforderlich. Die Hauptfunktionen des HTTPS-Protokolls können in zwei Typen unterteilt werden: Einer besteht darin, einen Informationssicherheitskanal einzurichten, um die Sicherheit der Datenübertragung zu gewährleisten; der andere besteht darin, die Authentizität der Website zu bestätigen. Die Hauptunterschiede zwischen HTTPS und HTTP sind folgende: 1. Für das https-Protokoll muss ein Zertifikat bei einer Zertifizierungsstelle beantragt werden. Generell gibt es weniger kostenlose Zertifikate, sodass eine bestimmte Gebühr anfällt. 2. HTTP ist das Hypertext-Übertragungsprotokoll und Informationen werden im Klartext übertragen, während HTTPS das sichere SSL-verschlüsselte Übertragungsprotokoll ist. 3. http und https verwenden völlig unterschiedliche Verbindungsmethoden und unterschiedliche Ports. Ersteres ist 80 und letzteres ist 443. 4. Die HTTP-Verbindung ist sehr einfach und zustandslos. Das HTTPS-Protokoll ist ein Netzwerkprotokoll, das auf dem SSL+HTTP-Protokoll basiert und verschlüsselte Übertragungen und Identitätsauthentifizierungen durchführen kann. Es ist sicherer als das HTTP-Protokoll. 2. Generieren Sie ein Zertifikat mit openssl OpenSSL ist das beliebteste SSL-Kryptografiebibliothekstool, das eine allgemeine, robuste und voll funktionsfähige Tool-Suite zur Unterstützung der Implementierung des SSL/TLS-Protokolls bietet. Beispielsweise generiert zu: /usr/local/ssl openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt Generierungsprozess: # openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt Generieren eines 2048-Bit-RSA-Privatschlüssels .................................................................................+ ++ ...............+++ neuen privaten Schlüssel in „/usr/local/ssl/nginx.key“ schreiben ----- Sie werden nun aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung. Was Sie jetzt eingeben, ist ein sogenannter Distinguished Name oder DN. Es gibt eine ganze Reihe von Feldern, aber Sie können einige leer lassen Für einige Felder gibt es einen Standardwert. Wenn Sie „.“ eingeben, bleibt das Feld leer. ----- Ländername (2-Buchstaben-Code) [XX]:CN Name des Staates oder der Provinz (vollständiger Name) []:beijing Ortsname (z. B. Stadt) [Standardstadt]: Peking Name der Organisation (z. B. Firma) [Standard Company Ltd]: xxxx Name der Organisationseinheit (z. B. Abschnitt) []:xxxx Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:xxxx (normalerweise ein Domänenname) E-Mail-Adresse []:[email protected] #ll insgesamt 8 -rw-r--r--. 1 root root 1391 21. April 13:29 nginx.crt -rw-r--r--. 1 root root 1704 21. April 13:29 nginx.key 3. Installieren Sie das Modul http_ssl_module in Nginx Wenn das SSL-Modul in Nginx nicht aktiviert ist, wird beim Konfigurieren von Https eine Fehlermeldung angezeigt.
Nginx fehlt das Modul http_ssl_module. Fügen Sie beim Kompilieren und Installieren einfach die Konfiguration --with-http_ssl_module hinzu. In diesem Szenario wurde nginx auf dem Server installiert, aber http_ssl_module wurde nicht installiert. 1. Geben Sie das Quellpaket ein, beispielsweise: cd /app/download/nginx-1.12.2 2.Konfigurieren: ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module #Benötigt möglicherweise abhängige Pakete yum -y install pcre-devel openssl openssl-devel 3. machen: machen 4. Es ist nicht notwendig, „make install“ auszuführen, da sonst die Installation überschrieben wird. 5. Sichern Sie das ursprüngliche Nginx, zum Beispiel: cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak 6. Überschreiben Sie dann das ursprüngliche Nginx mit dem neu kompilierten Nginx (Nginx muss gestoppt werden). cp ./objs/nginx /usr/local/nginx/sbin/ 7. Überprüfen Sie den Installationsstatus: /usr/local/nginx/sbin/nginx -V Nginx-Version: nginx/1.12.2 erstellt mit gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) erstellt mit OpenSSL 1.0.2k-fips 26. Januar 2017 TLS SNI-Unterstützung aktiviert Argumente konfigurieren: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 4. Nginx-Konfiguration https Fügen Sie einige Konfigurationsinformationen ein: Server { hören Sie 80; Servername www.IhreDomain.com; rewrite ^(.*) https://$server_name$1 permanent; #http Weiterleitung zu https } Server { hören Sie 443 SSL; Servername www.IhreDomain.com; SSL-Zertifikat /usr/local/ssl/nginx.crt; SSL-Zertifikatsschlüssel /usr/local/ssl/nginx.key; ssl_session_cache geteilt:SSL:1m; SSL-Sitzungszeitüberschreitung 5 Min. #Deaktivieren Sie die Serverversion im Header, um zu verhindern, dass Hacker Versionsschwachstellen ausnutzen server_tokens off; #Wenn die gesamte Site HTTPS ist und HTTP nicht berücksichtigt wird, können Sie HSTS hinzufügen, um Ihrem Browser mitzuteilen, dass die gesamte Site verschlüsselt ist, und den HTTPS-Zugriff zu erzwingen. fastcgi_param HTTPS on; fastcgi_param HTTP_SCHEME https; Zugriffsprotokoll /usr/local/nginx/logs/httpsaccess.log; } Prüfen Sie zunächst, ob die Konfiguration korrekt ist: /usr/local/nginx/sbin/nginx -t nginx: die Syntax der Konfigurationsdatei /usr/local/nginx/conf/nginx.conf ist in Ordnung nginx: Test der Konfigurationsdatei /usr/local/nginx/conf/nginx.conf ist erfolgreich Starten Sie nginx neu: /usr/local/nginx/sbin/nginx -s neu laden Zugang: Dies ist das Ende dieses Artikels über den detaillierten Prozess der Konfiguration eines HTTPS-Zertifikats unter Nginx. Weitere relevante Inhalte zur Konfiguration eines HTTPS-Zertifikats unter Nginx finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Lösungen für Probleme bei der Leistungsoptimierung von MySQL-Indizes
>>: Das Vue-Projekt implementiert eine Fortschrittsbalkenfunktion für den Dateidownload
Farbkontrast und Harmonie Unter kontrastierenden ...
Ziehen Sie das Bild Docker-Pull MySQL Sehen Sie s...
Die erste Methode: Docker-Installation 1. Ziehen ...
Durch die Verwendung der virtuellen Domänennamenk...
In diesem Artikel wird der CSS-Beispielcode vorge...
Das Erstellen neuer Images aus vorhandenen Images...
Der Container wurde bereits erstellt. So erfahren...
Vorwort Bevor wir mit der Erklärung des Prinzips ...
Beim Entwickeln einer Website müssen Sie häufig e...
MySql-Index Indexvorteile 1. Sie können die Einde...
1. Einführung in das Docker-Maven-Plugin In unser...
Ich habe kürzlich bei einem praktischen Trainings...
Inhaltsverzeichnis Aktualisierbare Ansichten Leis...
Vorwort Die MySQL-Abfrage verwendet den Select-Be...
netem und tc: netem ist ein Netzwerksimulationsmo...