Beispiel für eine HTTPS-Konfigurationsmethode für den Nginx-Server

Beispiel für eine HTTPS-Konfigurationsmethode für den Nginx-Server

Linux: Linux-Version 3.10.0-123.9.3.el7.x86_64

Nginx: nginx/1.6.3

openssl:1.0.1e

Zertifikat beantragen

Derzeit gibt es im Internet viele Organisationen, die kostenlose persönliche SSL-Zertifikate mit Gültigkeitsdauern von einigen Monaten bis zu einigen Jahren anbieten. Am Beispiel von StartSSL: https://www.startssl.com beträgt die Gültigkeitsdauer 3 Jahre nach erfolgreicher Beantragung und kann nach Ablauf kostenlos verlängert werden.

Auch der konkrete Bewerbungsprozess ist denkbar einfach.

Wählen Sie nach der Registrierung und Anmeldung „Zertifikatsassistent“ >> „DV-SSL-Zertifikat“, um ein kostenloses SSL-Zertifikat zu beantragen.

Nach der Verifizierung des Domainnamens per E-Mail generieren Sie den CSR des SSL-Zertifikats auf Ihrem eigenen Server. Merken Sie sich das eingegebene Geheimnis , das Sie später benötigen werden:

openssl req -newkey rsa:2048 -keyout weizhimiao.cn.key -out weizhimiao.cn.csr

Legen Sie das generierte Zertifikat in das angegebene Verzeichnis ab, beispielsweise /data/secret/ . Überprüfen Sie den Inhalt des Zertifikats weizhimiao.csr , kopieren Sie den Inhalt in den Abschnitt „Certificate Signing Request“ (CSR) auf der Seite und senden Sie die Seite ab.

Laden Sie das generierte Zertifikat herunter und wählen Sie den entsprechenden Webserver (Nginx, 1_weizhimiao.cn_bundle.crt) aus, sodass wir sowohl den privaten als auch den öffentlichen Schlüssel haben.

  • 1_weizhimiao.cn_bundle.crt (öffentlicher Schlüssel)
  • weizhimiao.cn.key (privater Schlüssel)

nginx-Konfiguration (https zum angegebenen Domänennamen hinzufügen)

Aktuelle Konfiguration von nginx.conf

...
http {
 ...
 schließen Sie /etc/nginx/conf.d/*.conf ein;

 Server {
  ...
 }
}

Zu ./conf.d/weizhimiao.cn.conf hinzufügen

Server{
 hören Sie 443 SSL;
 Servername weizhimiao.cn;

 SSL-Zertifikat /data/secret/1_weizhimiao.cn_bundle.crt;
 SSL-Zertifikatsschlüssel /data/secret/weizhimiao.cn.key;
 ssl_prefer_server_ciphers ein;
 SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2;

 ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !MD5 !EXP !DSS !PSK !SRP !kECDH !CAMELLIA !RC4 !SEED';

 add_header Strict-Transport-Security 'max-age=31536000; Vorladen';
 add_header X-Frame-Optionen DENY;
 ssl_session_cache geteilt:SSL:10m;
 SSL-Sitzungszeitüberschreitung 10 Min.;
 KeepAlive-Timeout 70;
 ssl_dhparam /data/secret/dhparam.pem;

 add_header X-Inhaltstyp-Optionen nosniff;

 add_header X-Xss-Schutz 1;

 Stammverzeichnis /data/www/weizhimiao.cn;
 Index Index.html;

 Standort / {

 }
}

Notiz:

Die Konfiguration verwendet eine Datei /data/secret/dhparam.pem , die eine Schlüsseldatei im PEM-Format ist und in TLS-Sitzungen verwendet wird. Wird verwendet, um die SSL-Sicherheit zu verbessern. Generieren Sie diese Dateimethode,

cd /Daten/Geheimnis/
openssl dhparam 2048 -out dhparam.pem

Leiten Sie den ursprünglichen Zugriff auf Port 80 um. Zu ./conf.d/weizhimiao.cn.conf hinzufügen

Server{
 hören Sie 80;
 Servername weizhimiao.cn;
 Rückgabewert 301 https://weizhimiao.cn$request_uri;
}

prüfen

Überprüfen Sie, ob die Konfigurationsdatei Syntaxfehler enthält. Sie müssen das Passwort eingeben, das Sie bei der Generierung des öffentlichen Schlüssels vergeben haben.

nginx -t
Geben Sie die PEM-Passphrase ein:
nginx: die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung
nginx: Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Starten Sie Nginx neu (denken Sie daran, dass Neuladen nicht funktioniert)

nginx -s stoppen
Geben Sie die PEM-Passphrase ein:
nginx
Geben Sie die PEM-Passphrase ein:

Greifen Sie über den Browser auf weizhimiao.cn zu und prüfen Sie, ob es effektiv ist.

Nachdem Nginx mit einem Sicherheitszertifikat konfiguriert wurde, müssen Sie außerdem bei jedem Neuladen, Stoppen und anderen Vorgängen auf Nginx ein Kennwort eingeben.

Sie können eine entschlüsselte Schlüsseldatei generieren, um die ursprüngliche Schlüsseldatei zu ersetzen.

cd /Daten/Geheimnis/
openssl rsa -in weizhimiao.cn.key -out weizhimiao.cn.key.unsecure

Ersetzen Sie die Datei weizhimiao.cn.key in weizhimiao.cn.conf .

Server {
 ...
 SSL-Zertifikat /data/secret/1_weizhimiao.cn_bundle.crt;
 SSL-Zertifikatsschlüssel /data/secret/weizhimiao.cn.key.unsecure;
 ...
}

Danach ist eine erneute Eingabe des Passwortes bei jedem Neuladen nicht mehr nötig.

Verwenden Sie abschließend SSLLABS, um es zu testen.

Ergebnis

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Implementierung von HTTP- und HTTPS-Diensten mit Nginx-Reverse-Proxy für mehrere Domänennamen
  • Zwei Möglichkeiten zur Implementierung des Nginx https Reverse Proxy Tomcat
  • Detaillierte Erklärung zur korrekten Umleitung von Nginx-Server-HTTP auf HTTPS
  • Tutorial zum Erstellen eines Nginx-HTTP-Servers
  • Detaillierte Erläuterung der Konfiguration von HTTPS (NGINX) auf dem Alibaba Cloud LINUX-Server
  • So erstellen Sie einen HTTPS-Server mit Nginx und erzwingen den HTTPS-Zugriff
  • Probleme bei der Konfiguration von https-Server und Reverse-Proxy mit Nginx unter Windows

<<:  So legen Sie die Anzahl der MySQL-Verbindungen fest (zu viele Verbindungen)

>>:  JavaScript zum Erzielen eines Akkordeoneffekts

Artikel empfehlen

Beispiel für das Einfügen eines HTML-Bilds (html add image)

Zum Einfügen von Bildern in HTML sind HTML-Tags f...

CSS Flex mehrere mehrspaltige Layouts

Grundlegendes dreispaltiges Layout .Container{ An...

So verwenden Sie nginx, um eine angegebene Schnittstelle (URL) zu blockieren

1. Einleitung Manchmal müssen Sie eine Servicesch...

Implementierung der Docker-Compose-Bereitstellung des ZK+Kafka+Storm-Clusters

Übersicht über die Clusterbereitstellung 172.22.1...

Windows Server 2008-Tutorial zur Überwachung der Serverleistung

Als Nächstes erfahren Sie, wie Sie die Serverleis...

Detaillierte Erklärung dynamisch generierter Tabellen mit Javascript

*Seite erstellen: zwei Eingabefelder und ein Butt...

Vue+Flask realisiert Videosynthesefunktion (Drag & Drop-Upload)

Inhaltsverzeichnis Wir haben in einem früheren Ar...

Lokale MySQL-Installation und Problemlösung

Vorwort Dieser Artikel ist ziemlich ausführlich u...

Diskussion über die Browsing-Designmethode für Webseiteninhalte

<br />Wenn ein Artikel auf einer Inhaltsseit...

MySQL Serie 12 Backup und Wiederherstellung

Inhaltsverzeichnis Tutorial-Reihe 1. Beschreibung...