Installation von SSL: Nginx

In dieser Anleitung erfahren Sie, wie Sie ein SSL-Zertifikat auf einem Nginx-Webserver installieren.

Voraussetzungen

  • Nginx ist bereits auf dem Server installiert.
  • Das SSL-Zertifikat ist auf dem Server vorhanden.
  • Das CA-Bundle beziehungsweise Zwischenzertifikat ist auf dem Server vorhanden.
  • Der private Schlüssel ist auf dem Server vorhanden.
  • Sie haben Zugriff auf die Nginx-Konfiguration.
Warnung: Der private Schlüssel darf nicht weitergegeben werden. Schützen Sie die Datei mit möglichst restriktiven Dateirechten.

1. Zertifikat und CA-Bundle zusammenführen

Nginx verwendet in der Regel eine Zertifikatsdatei, die das SSL-Zertifikat und die Zertifikatskette enthält. Führen Sie dafür die .crt-Datei und die .ca-bundle-Datei zusammen.

Beispiel:

cat deinedomain.crt deinedomain.ca-bundle > ssl-bundle.crt

2. Zertifikatsdateien auf den Server kopieren

Kopieren Sie die neu erstellte Datei ssl-bundle.crt in das Zertifikatsverzeichnis:

/etc/ssl/certs/ssl-bundle.crt

Kopieren Sie den privaten Schlüssel, zum Beispiel server.key, in das Verzeichnis für private Schlüssel:

/etc/ssl/private/server.key
Hinweis: Passen Sie Dateinamen und Pfade an Ihre eigene Serverumgebung an.

3. Nginx-Konfiguration öffnen

Öffnen Sie die Konfigurationsdatei des Serverblocks, den Sie per SSL absichern möchten.

Häufige Speicherorte sind:

  • /etc/nginx/sites-available/
  • /usr/local/nginx/sites-available/

4. Serverblock anpassen

Fügen Sie im passenden Serverblock die SSL-Konfiguration ein oder passen Sie vorhandene Einträge entsprechend an.

Beispiel:

server {
    listen 443 ssl;
    server_name deinedomain.de www.deinedomain.de;

    ssl_certificate /etc/ssl/certs/ssl-bundle.crt;
    ssl_certificate_key /etc/ssl/private/server.key;

    ssl_protocols TLSv1.2 TLSv1.3;

    root /var/www/deinedomain.de;
    index index.html index.htm index.php;
}
Hinweis: Ersetzen Sie deinedomain.de, die Pfade und das Webverzeichnis durch die Daten Ihrer eigenen Domain und Serverumgebung.

5. Nginx-Konfiguration testen

Prüfen Sie die Nginx-Konfiguration auf Fehler:

sudo nginx -t

Wenn keine Fehler angezeigt werden, kann Nginx neu gestartet oder neu geladen werden.

6. Nginx neu laden

Laden Sie Nginx neu, damit die Änderung aktiv wird:

sudo systemctl reload nginx

Falls Ihr System keinen systemd-Dienst verwendet, können Sie alternativ den Dienst neu starten:

sudo /etc/init.d/nginx restart

Das SSL-Zertifikat ist anschließend für den konfigurierten Nginx-Serverblock aktiv.