Wenn die Serverdaten nicht verschlüsselt und mit einem SSL-Zertifikat authentifiziert sind, werden die Daten des Benutzers im Klartext übertragen. Dadurch ist es möglich, die Kennwortinformationen des Benutzers mithilfe von Paketerfassungstools abzugreifen, was sehr gefährlich ist. Zudem ist eine Überprüfung der Datenkonsistenz und -integrität nicht möglich und es kann nicht sichergestellt werden, dass die Daten während der Übertragung nicht verändert wurden. Wenn die Website wichtige Informationen wie Benutzerkonten enthält, ist es daher normalerweise erforderlich, ein SSL-Zertifikat zu konfigurieren und zu verwenden, um das https-Protokoll zu implementieren. SSL-Zertifikate in Produktionsumgebungen müssen über eine Zertifizierungsstelle eines Drittanbieters erworben werden. Sie werden in professionelle OV-Zertifikate (der Firmenname wird nicht in der Adressleiste des Browsers angezeigt) und erweiterte EV-Zertifikate (der Firmenname kann angezeigt werden) unterteilt. Die Anzahl der durch das Zertifikat geschützten Domänennamen wirkt sich ebenfalls auf den Preis aus (beispielsweise ist der Preis für die WWW-Zertifizierung und die Wildcard-*-Zertifizierung unterschiedlich) und Domänennamen der dritten Ebene werden nicht unterstützt. Während des Tests können Sie als Zertifizierungsstelle selbst ein Zertifikat erstellen. Der Browser zeigt es in Rot an und zeigt damit an, dass das Zertifikat abgelaufen oder ungültig ist. Wenn es gelb ist, bedeutet dies, dass einige Verbindungen auf der Website immer noch das http-Protokoll verwenden. Unabhängig davon, welche Methode verwendet wird, ist die Konfiguration von Nginx nach dem Erhalt des Zertifikats dieselbe. Hier finden Sie daher eine vollständige Beschreibung der Einrichtung von OpenSSL und der Erstellung eines Zertifikats. 1. Bereiten Sie die Umgebung vor1) Nginx-Dienst 2) SSL-Modul [root@ns3 ~]# systemctl stoppe Firewall [root@ns3 ~]# iptables -F [root@ns3 ~]# setenforce 0 [root@ns3 ~]# yum -y installiere pcre zlib pcre-devel zlib-devel [root@ns3 ~]# tar xf nginx-1.16.0.tar.gz -C /usr/src/ [root@ns3 ~]#cd /usr/src/nginx-1.16.0 [root@ns3 ~]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module&&make && make install #Installieren Sie die später benötigten Module auf einmal 3) Überprüfen Sie, ob OpenSSL installiert ist [root@ns3 ~]# rpm -qa openssl 2 openssl-1.0.1e-42.el7.x86_64 Wenn nicht installiert [root@ns3 ~]# yum -y installiere openssl openssl-devel 2. Erstellen Sie eine Stammzertifikat-CA1. Generieren Sie einen privaten CA-Schlüssel [root@ns3 ~]# cd zhengshu/ [root@ns3 zhengshu]# openssl genrsa -out local.key 2048 Generieren eines privaten RSA-Schlüssels, 2048 Bit langer Modul .................................................................................................................................................................................................................................................+++ ............................................................................................................................................................................................................+++ e ist 65537 (0x10001) [root@ns3 zhengshu]# ls lokaler Schlüssel 2. CA-Zertifikatsanforderung generieren [root@ns3 zhengshu]# openssl req -new -key local.key -out local.csr 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 #Staats- oder Provinzname (vollständiger Name) []:BJ #Ortsname (z. B. Stadt) [Standard Stadt]:BJ #Organisationsname (z. B. Firma) [Standard Firma Ltd]: Name der Organisationseinheit (z. B. Abteilung) []:test #AbteilungAllgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:test #HostnameE-Mail-Adresse []:[email protected] #E-MailBitte geben Sie die folgenden „zusätzlichen“ Attribute ein wird mit Ihrem Zertifikatsantrag mitgeschickt Ein Challenge-Passwort []:wuminyan #Passwort Ein optionaler Firmenname []:wuminyan #Name [root@ns3 zhengshu]# ls lokale.csr lokale.schlüssel req: Dies ist ein umfangreicher Befehl, der die Generierung von Zertifikatsanforderungsdateien, die Überprüfung von Zertifikaten und die Erstellung von Stammzertifizierungsstellen ermöglicht. -new: bedeutet, eine neue Zertifikatsanforderung zu generieren -x509: gibt das Zertifikat direkt aus -key: die private Schlüsseldatei, die beim Generieren der Zertifikatsanforderung verwendet wurde -out: Ausgabedatei 3. Generieren Sie ein CA-Stammzertifikat Dieser Befehl zum Generieren eines CA-Zertifikats ist verwirrend. 1. Generieren Sie eine Zertifikatsanforderungsdatei mit einem geheimen Schlüssel. 2. Generieren Sie das endgültige Zertifikat mit einer Zertifikatsanforderungsdatei. -in Generieren Sie ein Zertifikat mit einer Zertifikatsanforderungsdatei. -signkey gibt den privaten Schlüssel an. Dies ist ein Parameter, den ich noch nicht verstehe. [root@ns3 zhengshu]# openssl x509 -req -in local.csr -extensions v3_ca -signkey local.key -out local.crt Unterschrift ok Betreff=/C=CN/ST=BJ/L=BJ/O=Default Company Ltd/OU=Test/CN=Test/[email protected] Privaten Schlüssel abrufen 3. Erstellen Sie ein Serverzertifikat basierend auf dem CA-Zertifikat1. Generieren Sie den privaten Serverschlüssel [root@ns3 zhengshu]# openssl genrsa -out my_server.key 2048 Generieren eines privaten RSA-Schlüssels, 2048 Bit langes Modul .................................+++ ...........................................+++ e ist 65537 (0x10001) [root@ns3 zhengshu]# ls local.crt local.csr local.key mein_server.key 2. Server-Zertifikatsanforderung generieren [root@ns3 zhengshu]# openssl x509 -req -in local.csr -extensions v3_ca -signkey local.key -out local.crt Unterschrift ok Betreff=/C=CN/ST=BJ/L=BJ/O=Default Company Ltd/OU=Test/CN=Test/[email protected] Privaten Schlüssel abrufen [root@ns3 zhengshu]# openssl genrsa -out my_server.key 2048 Generieren eines privaten RSA-Schlüssels, 2048 Bit langes Modul .................................+++ ...........................................+++ e ist 65537 (0x10001) [root@ns3 zhengshu]# openssl req -new -key mein_server.key -out mein_server.csr 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) []: BJ Ortsname (z. B. Stadt) [Standardstadt]: BJ Name der Organisation (z. B. Firma) [Standard Company Ltd]: Name der Organisationseinheit (z. B. Abschnitt) []:test Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:test E-Mail-Adresse []:[email protected] Bitte geben Sie die folgenden 'zusätzlichen' Attribute ein wird mit Ihrem Zertifikatsantrag mitgeschickt Ein Challenge-Passwort []:wuminyan Ein optionaler Firmenname []:wuminyan [root@ns3 zhengshu]# ls local.crt local.csr local.key mein_server.csr mein_server.key 3. Server-Zertifikat generieren [root@ns3 zhengshu]# openssl x509 -days 365 -req -in my_server.csr -extensions v3_req -CAkey local.key -CA local.crt -CAcreateserial -out my_server.crt Unterschrift ok Betreff=/C=CN/ST=BJ/L=BJ/O=Default Company Ltd/OU=Test/CN=Test/[email protected] Abrufen des privaten CA-Schlüssels 4. Konfigurieren Sie nginx zur Unterstützung von SSL[root@ns3 ~]# vim /etc/nginx.cof #Hier wird ein Softlink gesetzt: lln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ Server { hören Sie 80; listen 443 default ssl; #Auf Port 433 lauschen keepalive_timeout 100; #Keepalive einschalten Keepalive-Langverbindung aktivieren, um die Zahl der Client-Anfragen zu reduzieren ssl_certificate /root/zhengshu/local.crt; #Speicherort des Server-Zertifikats ssl_certificate_key /root/zhengshu/local.key; #Speicherort des privaten Server-Schlüssels ssl_session_cache shared:SSL:10m; #Sitzung zwischenspeichern ssl_session_timeout 10m; #Sitzung läuft in 10 Minuten ab ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers ein; Servername test.com; Zeichensatz UTF-8; Standort / { Stamm-HTML; Index Index.html Index.htm; } } } 5. TestenGeben Sie https://192.168.200.115 ein Dies ist das Ende dieses Artikels über die Implementierung von https mit nginx in Kombination mit OpenSSL. Weitere relevante Inhalte zur Implementierung von https mit 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:
|
<<: Definieren der Mindesthöhe der Inline-Elementspanne
>>: Zusammenfassung zur Positionierung in CSS
1. Installieren Sie die vsftpd-Komponente Install...
Studierende, die Ansible verwenden, wissen, dass ...
Aus historischen Gründen basiert die MySQL-Replik...
Tutorial zu HTML-Formular-Tags. In diesem Abschni...
Der Komponentenlebenszyklus ist normalerweise der...
Inhaltsverzeichnis Hintergrund 1. Was ist DNS-Pre...
Die Beziehung zwischen Javascript und DOM ist seh...
Installieren Zuerst müssen Sie Java und Scala ins...
Ich habe viele Tutorials gelesen, aber festgestel...
Inhaltsverzeichnis 1. Systeminformationen 2. Shut...
Datenbank anzeigen show databases; Erstellen eine...
In diesem Artikel wird die Methode zum manuellen ...
Inhaltsverzeichnis 1. for-Schleife: grundlegend u...
Xiaobai zeichnet die Installation von vmtools auf...
Vorwort Das Transaktionsdatenwörterbuch und das a...