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
1. Kabellos Führen Sie PowerShell aus und geben S...
Wir leben in einer visuellen Welt und sind von vi...
Methode 1: Verwenden Sie den Befehl SET PASSWORD ...
CSS-Hintergrund: background:#00ffee; //Hintergrund...
Dieser Artikel veranschaulicht anhand von Beispie...
Laden Sie das MySQL-Installationspaket herunter. ...
MySQL 8 bringt völlig neue Erfahrungen mit sich, ...
Vorwort Wenn es um Datenbanktransaktionen geht, f...
Problem: Die von mybatis zurückgegebenen Daten vo...
Wenn Sie jemand fragen würde, ob die Ausführung v...
Ich teile den gesamten Prozess in vier Schritte e...
1 Umsetzungsprinzip Dies geschieht mithilfe der E...
Heute habe ich einen kleinen Vorgeschmack auf IE8...
1. Einführung in yum Yum (vollständiger Name Yell...
Vorwort: Manchmal wird die mit MySQL verbundene S...