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.
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.crt2. Zertifikatsdateien auf den Server kopieren
Kopieren Sie die neu erstellte Datei ssl-bundle.crt in das Zertifikatsverzeichnis:
/etc/ssl/certs/ssl-bundle.crtKopieren Sie den privaten Schlüssel, zum Beispiel server.key, in das Verzeichnis für private Schlüssel:
/etc/ssl/private/server.key3. 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;
}5. Nginx-Konfiguration testen
Prüfen Sie die Nginx-Konfiguration auf Fehler:
sudo nginx -tWenn 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 nginxFalls Ihr System keinen systemd-Dienst verwendet, können Sie alternativ den Dienst neu starten:
sudo /etc/init.d/nginx restartDas SSL-Zertifikat ist anschließend für den konfigurierten Nginx-Serverblock aktiv.