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.