·Server / Hosting

So sichern Sie Nginx mit Let's Encrypt unter Ubuntu / Debian ab

Schritt-für-Schritt-Anleitung zur Einrichtung von Let's Encrypt SSL-Zertifikaten für Nginx unter Ubuntu und Debian.

post nginx letsencrypt ssl ubuntu debian server howto

Nginx-Webserver mit Let's Encrypt absichern

Let's Encrypt ist eine Zertifizierungsstelle, die eine einfache Möglichkeit bietet, kostenlose TLS/SSL-Zertifikate zu erhalten und zu installieren. Damit lässt sich HTTPS auf Webservern unkompliziert aktivieren.

Der Prozess wird durch das Tool Certbot automatisiert, das die meisten Schritte zur Zertifikatsausstellung übernimmt. In dieser Anleitung wird Certbot genutzt, um ein SSL-Zertifikat für Nginx unter Ubuntu oder Debian einzurichten und die automatische Verlängerung zu konfigurieren.

Voraussetzungen

  • Ubuntu- oder Debian-Server mit Root-Zugriff
  • Eine registrierte Domain (im Beispiel: example.com)
  • DNS-Einträge:
    • A-Record für example.com → Server-IP
    • A-Record oder CNAME für www.example.com → Server-IP
  • Installierter Nginx-Webserver

Schritt 1 – Certbot installieren

Repository hinzufügen:

sudo add-apt-repository ppa:certbot/certbot

Paketlisten aktualisieren:

sudo apt-get update

Certbot installieren:

sudo apt-get install python-certbot-nginx

Certbot ist nun installiert. Vor der Zertifikatsausstellung muss jedoch die Nginx-Konfiguration stimmen.

Schritt 2 – Nginx konfigurieren

Certbot muss den korrekten Serverblock erkennen können. Der server_name muss auf die gewünschte Domain gesetzt sein.

sudo nano /etc/nginx/sites-available/default
Nginx server_name Konfiguration

Syntax prüfen:

sudo nginx -t

Konfiguration neu laden:

sudo systemctl reload nginx

Schritt 3 – SSL-Zertifikat beziehen

sudo certbot --nginx -d example.com -d www.example.com

Beim ersten Start fragt Certbot nach einer E-Mail-Adresse und der Zustimmung zu den Nutzungsbedingungen.

Anschließend wird geprüft, ob die Domain dem Server gehört.

Danach fragt Certbot, ob HTTP auf HTTPS umgeleitet werden soll:

1: No redirect
2: Redirect

Option 2 ist in der Regel empfehlenswert. HTTP-Aufrufe werden dann automatisch auf HTTPS umgeleitet.

Nach erfolgreicher Ausstellung zeigt Certbot die Speicherorte der Zertifikate an. Die Seite ist danach über HTTPS erreichbar.

Schritt 4 – Automatische Verlängerung prüfen

Let's Encrypt-Zertifikate sind 90 Tage gültig. Certbot richtet automatisch einen Timer ein, der Zertifikate rechtzeitig erneuert.

Testlauf:

sudo certbot renew --dry-run

Wenn keine Fehler auftreten, funktioniert die automatische Verlängerung. Bei Problemen sendet Let's Encrypt eine Benachrichtigung per E-Mail.