Zum Inhalt springen

Zertifikat unter nginx installieren

  • Zugang zum Server mit Root-Rechten oder sudo.
  • nginx ist installiert und läuft.
  • Die kombinierte PEM-Datei von regfish, die Serverzertifikat und Zwischenzertifikate enthält (certificate-example.com.pem).
  • Der private Schlüssel aus der Zertifikatsanfrage (private.key), siehe CSR erstellen.

Die PEM-Datei findest du nach der Ausstellung im dash unter SSL/TLS → dein Zertifikat → Downloads, als Vollständige PEM-Datei oder im ZIP-Paket.

Terminal-Fenster
sudo mkdir -p /etc/nginx/ssl
sudo cp certificate-example.com.pem /etc/nginx/ssl/
sudo cp private.key /etc/nginx/ssl/

Die Rechte sind kein Detail: Der Schlüssel darf nur für Root lesbar sein.

Terminal-Fenster
sudo chmod 644 /etc/nginx/ssl/certificate-example.com.pem
sudo chmod 600 /etc/nginx/ssl/private.key

Die Konfiguration der Website öffnen, oft /etc/nginx/sites-available/default:

server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/certificate-example.com.pem;
ssl_certificate_key /etc/nginx/ssl/private.key;
# Empfohlene Einstellungen
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/html;
index index.html index.htm;
}
Terminal-Fenster
sudo nginx -t
sudo systemctl reload nginx

nginx -t prüft die Konfiguration, bevor sie aktiv wird; reload übernimmt sie anschließend ohne Verbindungsabbruch.

Die Website über HTTPS aufrufen und darauf achten, dass der Browser keine Zertifikatsfehler meldet. Gründlicher prüft ein Testdienst wie der Qualys SSL Labs Server Test, der auch eine unvollständige Kette findet.

Die Zertifikats-Wache meldet jedes neue Zertifikat, das auf diesen Namen ausgestellt wird, auch eines aus fremder Hand. Den Ablauf des eigenen Zertifikats überwacht sie nicht: Dagegen hilft die Automatisierung im nächsten Abschnitt.

Wer das nicht bei jeder Verlängerung wiederholen will, automatisiert die Ausstellung samt Installation mit certbro oder dem Rezept ACME-Zertifikate mit lego.