Zum Hauptinhalt springen

Installation eines SSL-Zertifikats auf dem Nginx-Server

Sie können das SSL-Zertifikat auf dem Nginx-Server installieren, damit der Nginx-Server HTTPS sicheren Zugriff unterstützt. Dieser Artikel beschreibt, wie Sie ein SSL-Zertifikat auf dem Nginx-Server installieren.

Hinweis

Die Nginx-Version in diesem Dokument basiert auf nginx/1.18.0. Stellen Sie vor der Installation sicher, dass Port 443 nicht belegt ist. Falls Port 443 bereits verwendet wird, binden Sie bei der Zertifikatsinstallation einen anderen Port.

Zertifikat beziehen

  1. Nachdem wir das Zertifikat für Sie ausgestellt haben, erhalten Sie eine Zertifikatsdatei im komprimierten Format (.zip). Das Zip-Archiv enthält vier Ordner für vier Zertifikatsformate: Tomcat, Nginx, IIS, Apache. Für den Nginx-Server benötigen Sie das Zertifikat aus dem Nginx-Ordner.
  2. Der Nginx-Ordner enthält zwei Dateien:
  • domain_com_integrated.crt Zertifikatsdatei
  • domain_com.key Private-Key-Datei

SSL-Zertifikat installieren

  1. Kopieren Sie die erhaltene domain_com_integrated.crt Zertifikatsdatei und die domain_com.key Private-Key-Datei aus dem lokalen Verzeichnis in das Verzeichnis /etc/nginx/ssl des Nginx-Servers.
  • Falls das Verzeichnis /etc/nginx/ssl nicht existiert, kann es mit dem Befehl mkdir -p /etc/nginx/ssl erstellt werden.
  • Je nach Installationsmethode kann der Verzeichnispfad abweichen; bitte richten Sie sich nach den tatsächlichen Gegebenheiten.
  1. Bearbeiten Sie die Datei nginx.conf im Nginx-Stammverzeichnis. Die Änderungen lauten wie folgt:
nginx.conf
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;

#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;

#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}

Achtung

Aufgrund von Versionsunterschieden kann die Konfigurationsdatei unterschiedlich geschrieben sein. Beispiel: Bei Nginx-Versionen unter nginx/1.15.0 verwenden Sie bitte listen 443 und ssl on anstelle von listen 443 ssl.

Speichern Sie nach der Änderung die Konfigurationsdatei und führen Sie den folgenden Befehl aus:

nginx -t         #验证配置文件是否正确
nginx -s reload #重载 Nginx

SSL-Zertifikat testen

Geben Sie in der Adresszeile des Browsers die Domain ein, an die das SSL-Zertifikat gebunden ist, um zu testen, ob Ihr SSL-Zertifikat erfolgreich installiert wurde. Bei Erfolg zeigt die Browser-Adresszeile ein Schloss-Symbol an; klicken Sie darauf, um die Zertifikatsinformationen einzusehen.

SSL-Zertifikat-Ansicht

Sicherheitskonfiguration für automatische HTTP-zu-HTTPS-Weiterleitung (optional)

Wenn Sie HTTP-Anfragen automatisch zu HTTPS weiterleiten möchten, können Sie dies wie folgt einrichten:

  1. Verwenden Sie die Nginx-Weiterleitungsfunktion und fügen Sie in der HTTP-server die Anweisung return 301 https://$host$request_uri; hinzu, um HTTP-Anfragen zu HTTPS weiterzuleiten. Ändern Sie den Inhalt wie folgt:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}

  1. Starten Sie den Nginx-Server neu, um über den Domänennamen darauf zuzugreifen und die automatische Weiterleitung von HTTP zu HTTPS zu realisieren.