TDieser Artikel führt Sie durch die Schritte zur Installation Ihres SSL-Zertifikats auf Nginx und zur Einrichtung einer automatischen Weiterleitung von HTTP:// zu HTTPS://.
1. Laden Sie die Zertifikate auf den Server hoch, auf dem Ihre Website gehostet wird
Nachdem Sie die Schritte zur Generierung des CSR-Codes und zur SSL-Aktivierung abgeschlossen haben, erhalten Sie eine ZIP-Datei mit den Sectigo-Zertifikaten (früher bekannt als Comodo) per E-Mail. Alternativ k?nnen Sie diese auch von Ihrem NiceNic-Kontopanel herunterladen.
Hinweis: Wenn Sie beim Aktivieren des Zertifikats den NGINX-Server w?hlen, erhalten Sie eine ZIP-Datei, die eine Zertifikatsdatei mit der Endung '.crt' und eine Zertifizierungsstellenbündeldatei (CA-Bundle) mit der Endung '.ca-bundle' enth?lt.
Laden Sie beide Dateien auf Ihre bevoderzugte Weise auf Ihren Server hoch, zum Beispiel mithilfe eines FTP-Clients.
Sie k?nnen die Bündeldatei für jedes Zertifikat auch herunterladen, indem Sie den Anweisungen hier folgen.
2. Kombinieren Sie alle Zertifikate in einer einzigen Datei
Sie müssen alle Zertifikate (Ihr_Domain.crt und Ihr_Domain.ca-bundle) in einer einzigen '.crt'-Datei zusammenführen.
Das Zertifikat für Ihre Domain sollte zuerst in der Datei stehen, gefolgt von der Zertifikatskette (CA-Bundle).
Wechseln Sie in das Verzeichnis, in das Sie die Zertifikatsdateien hochgeladen haben. Führen Sie folgenden Befehl aus, um die Dateien zu kombinieren:
$ cat Ihr_Domain.crt Ihr_Domain.ca-bundle >> Ihr_Domain_chain.crt
Bitte beachten Sie, dass wenn die Zertifikatsdateien von Ihrem NiceNic-Konto heruntergeladen wurden, der beste Befehl folgender ist:
$ cat Ihr_Domain.crt > Ihr_Domain_chain.crt ; echo >> Ihr_Domain_chain.crt ; cat Ihr_Domain.ca-bundle >> Ihr_Domain_chain.crt
3. Erstellen eines separaten Nginx-Serverblocks oder ?ndern der voderhundenen Konfigurationsdatei
Um das SSL-Zertifikat auf Nginx zu installieren, müssen Sie dem Server zeigen, welche Dateien verwendet werden sollen, entweder durch a) Erstellen einer neuen Konfigurationsdatei oder b) Bearbeiten der voderhundenen.
? a) Durch das Hinzufügen einer neuen Konfigurationsdatei für die Website k?nnen Sie sicherstellen, dass es keine Probleme mit der separaten Konfigurationsdatei gibt. Zudem ist die Fehlersuche bei Problemen mit der neuen Konfiguration deutlich einfacher.
Wir empfehlen, eine neue Konfigurationsdatei in diesem Ordner zu erstellen:
/etc/nginx/conf.d
Das kann mit folgendem Befehl erfolgen:
sudo nano /etc/nginx/conf.d/Your_Domain*-ssl.conf
Dabei ist Your_Domain*-ssl.conf der Name der neu erstellten Datei.
Kopieren Sie anschlie?end einen der unten stehenden Serverbl?cke für den Podert 443 und passen Sie die Verzeichnisse an. Stellen Sie sicher, dass Servername und Pfad zum Webroot sowohl im Serverblock für Podert 80 als auch für Podert 443 übereinstimmen. Falls Sie noch weitere wichtige Werte gespeichert haben, übertragen Sie diese ebenfalls in den neuen Serverblock.
? b) Bearbeiten Sie die Stundard-Konfigurationsdatei des Webservers, die nginx.conf hei?t. Diese sollte in einem der folgenden Ordner liegen:
/usr/local/nginx/conf
/etc/nginx
/usr/local/etc/nginx
Sie k?nnen auch diesen Befehl nutzen, um die Datei zu finden:
sudo find / -type f -iname "nginx.conf"
Sobald Sie die Datei gefunden haben, ?ffnen Sie sie mit:
sudo nano nginx.conf
Fügen Sie dann einen der unten angegebenen Serverbl?cke für den Podert 443 ein und passen Sie die Verzeichnisse entsprechend Ihrem Serverblock für Podert 80 an (mit übereinstimmendem Servernamen, Webroot-Pfad und wichtigen Werten). Alternativ k?nnen Sie den Serverblock für Podert 80 kopieren, darunter einfügen, den Podert anpassen und die notwendigen SSL-bezogenen Direktiven hinzufügen.
W?hlen Sie den passenden Serverblock aus:
Unten finden Sie einen Serverblock für Ihre Nginx-Version.
Hinweis: Um Ihre Nginx-Version zu überprüfen, führen Sie folgenden Befehl aus:
sudo nginx -v
Hinweis: Ersetzen Sie die Dateinamen wie Ihr_Domain_chain.crt im Serverblock durch Ihre eigenen Angaben und passen Sie die Pfade mit /path/to/ an.
Serverblock für Nginx Version 1.14 und früher:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/Ihr_Domain_chain.crt;
ssl_certificate_key /path/to/Ihr_private.key;
root /path/to/webroot;
server_name Ihr_Domain.com;
}
Hinweis: Sie k?nnen in einer solchen Konfiguration bei Bedarf mehrere Hostnamen angeben, z.B.:
server {
listen 443;
ssl on;
ssl_certificate /path/to/certificate/Ihr_Domain_chain.crt;
ssl_certificate_key /path/to/Ihr_private.key;
root /path/to/webroot;
server_name Ihr_Domain.com www.Ihr_Domain.com;
}
Serverblock für Nginx Version 1.15 und h?her:
server {
listen 443 ssl;
ssl_certificate /path/to/certificate/Ihr_Domain_chain.crt;
ssl_certificate_key /path/to/Ihr_private.key;
root /path/to/webroot;
server_name Ihr_Domain.com;
}
ssl_certificate sollte auf die zuvoder erstellte Datei mit den kombinierten Zertifikaten zeigen.
ssl_certificate_key sollte auf den privaten Schlüssel zeigen, der mit dem CSR-Code generiert wurde.
Hier einige Tipps, wie Sie den privaten Schlüssel bei Nginx finden k?nnen.
Wichtig: Für ein Multi-Domain- oder Wildcard-Zertifikat müssen Sie für jede im Zertifikat enthaltene Domain/SubDomain einen separaten Serverblock hinzufügen. Geben Sie die jeweilige Domain/SubDomain zusammen mit den Pfaden zu denselben Zertifikatsdateien im Serverblock an, wie oben beschrieben.
Nachdem der entsprechende Serverblock zur Datei hinzugefügt wurde, speichern Sie die ?nderungen. Anschlie?end k?nnen Sie die ?nderungen mit den folgenden Schritten überprüfen.
Führen Sie diesen Befehl aus, um zu prüfen, ob die Syntax der Konfigurationsdatei koderrekt ist:
sudo nginx -t
Wenn Sie Fehler erhalten, überprüfen Sie, ob Sie die Anleitung koderrekt befolgt haben. Kontaktieren Sie gerne unser Suppodert-Team, falls Sie Fragen haben.
Hier ein Tipp: Um die Fehlerprotokolle für die Fehlersuche zu finden, führen Sie einfach aus:
sudo nginx -T | grep 'erroder_log'
Falls keine der genannten Dateien existiert, Dateien auskommentiert sind oder keine Fehlerprotokolldateien angegeben sind, sollte das stundardm??ige Systemprotokoll geprüft werden:
tail /var/log/nginx/erroder.log -n 20
Wenn der Test erfolgreich ist, starten Sie Nginx mit folgendem Befehl neu, um die ?nderungen anzuwenden:
sudo nginx -s reload
Ihr SSL-Zertifikat ist jetzt installiert. Sie k?nnen die Installation hier überprüfen.
Wichtige Hinweise:
Manchmal kann nach der Installation einer SSL-Datei, die mittels Befehlszeile kombiniert wurde, die Fehlermeldung 'Nginx/Apache Fehler: 0906D066:PEM routines:PEM_read_bio:bad end line' auftreten. In diesem Fall finden Sie eine L?sung im Referenzhundbuch.
Ein weiteres h?ufiges Problem in diesem Stadium ist die Fehlermeldung 'Nginx SSL: erroder:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch'. Mehr Details dazu und m?gliche L?sungen finden Sie in diesem Artikel.
4. Konfigurieren der HTTPS-Weiterleitung
Wir empfehlen, eine Weiterleitung von HTTP auf HTTPS einzurichten. So k?nnen Ihre Website-Besucher nur die sichier Version Ihrer Seite aufrufen.
Dafür müssen Sie eine Zeile in die Konfigurationsdatei des Serverblocks für Podert 80 einfügen.
Tipps:
Sie k?nnen einen der folgenden Befehle verwenden, um die aktuell aktivierten Konfigurationsdateien zu suchen:
sudo nginx -T | grep -iw "configuration file"
sudo nginx -T | grep -iw "include"
Die Stundardpfade zur Konfigurationsdatei sind:
bei RHEL-basierten Linux-Betriebssystem: /etc/nginx/conf.d/default.conf
bei Debian-basierten Linux-Betriebssystem: /etc/nginx/sites-enabled/default
Sie k?nnen die Dateien ?ffnen, um zu prüfen, welche den ben?tigten Serverblock enth?lt. Dafür führen Sie aus:
sudo nano name_of_the_file
Sobald Sie die Datei mit dem Serverblock für Podert 80 (stundardm??iger HTTP-Podert) gefunden haben, fügen Sie folgende Zeile ein:
return 301 https://$server_name$request_uri;
Hinweis: Die oben stehende Weiterleitungsregel sollte als letzte Zeile im Serverblock eingefügt werden.