open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

Let’s Encrypt + Certbot mit NGINX – Automatische TLS-Zertifikate einrichten

Autor
Let’s Encrypt + Certbot mit NGINX – Automatische TLS-Zertifikate einrichten

Eine sichere HTTPS-Verbindung ist heute Pflicht. Doch viele Betreiber schrecken vor der Einrichtung von SSL/TLS-Zertifikaten zurück – aus Angst vor Kosten oder Komplexität.

Dabei geht es mit Let’s Encrypt und Certbot einfacher, kostenloser und automatischer denn je. In diesem Artikel lernst du Schritt für Schritt, wie du deine NGINX-Website in wenigen Minuten mit kostenlosen TLS-Zertifikaten absicherst – ganz ohne manuelle Erneuerung.

1. Was ist Let’s Encrypt?

Let’s Encrypt ist eine gemeinnützige Zertifizierungsstelle (CA), die kostenlose SSL/TLS-Zertifikate bereitstellt. Sie ermöglicht verschlüsselte HTTPS-Verbindungen für alle – automatisiert und ohne Bürokratie.

Vorteile:

  • 100 % kostenlos
  • Automatische Erneuerung
  • Kompatibel mit allen gängigen Browsern
  • Ideal für Webserver wie NGINX oder Apache

2. Was ist Certbot?

Certbot ist das offizielle Automatisierungstool der Let’s-Encrypt-Initiative. Es erledigt für dich:

  • das Beantragen von Zertifikaten,
  • das Einbinden in NGINX,
  • und das automatische Erneuern der Zertifikate.

Mit Certbot brauchst du dich nach der Einrichtung praktisch um nichts mehr zu kümmern.

3. Voraussetzungen

Bevor du startest, prüfe:

  • Ein laufender NGINX-Server
  • Eine registrierte Domain, die auf deine Server-IP zeigt
  • Zugriff via SSH oder Terminal mit sudo-Rechten
  • Ports 80 (HTTP) und 443 (HTTPS) sind offen

4. Certbot installieren

Unter Debian/Ubuntu genügt:

sudo apt update
sudo apt install certbot python3-certbot-nginx -y

Unter CentOS/RHEL:

sudo dnf install certbot python3-certbot-nginx -y

Certbot erkennt automatisch, dass du NGINX verwendest.

5. SSL-Zertifikat für deine Domain erstellen

Mit einem einzigen Befehl kannst du Zertifikate beantragen und automatisch konfigurieren lassen:

sudo certbot --nginx -d deine-domain.de -d www.deine-domain.de

Certbot fragt dich:

  • ob du HTTP auf HTTPS umleiten willst (empfohlen: Ja)
  • und richtet dann alles automatisch ein.

Nach erfolgreicher Einrichtung erhältst du:

Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/deine-domain.de/fullchain.pem

Deine Website ist jetzt unter https://deine-domain.de erreichbar – mit gültigem Zertifikat.

6. Beispielkonfiguration für NGINX

Certbot fügt automatisch SSL-Parameter in deine NGINX-Konfiguration ein. Eine saubere HTTPS-Konfiguration könnte so aussehen:

server {
    listen 80;
    server_name deine-domain.de www.deine-domain.de;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name deine-domain.de www.deine-domain.de;

    ssl_certificate /etc/letsencrypt/live/deine-domain.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/deine-domain.de/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/deine-domain.de/chain.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    root /var/www/html;
    index index.html;
}

Diese Einstellungen aktivieren modernste TLS-Sicherheit und HTTP/2.

7. Zertifikate automatisch erneuern

Let’s-Encrypt-Zertifikate sind 90 Tage gültig. Certbot kümmert sich automatisch um die Verlängerung.

Teste die automatische Erneuerung:

sudo certbot renew --dry-run

Wenn keine Fehler erscheinen, läuft alles reibungslos. Certbot fügt außerdem automatisch einen systemd-Timer hinzu, der regelmäßig prüft, ob Zertifikate erneuert werden müssen.

8. Nützliche Certbot-Befehle

Aktion Befehl
Zertifikat erneuern sudo certbot renew
Zertifikat löschen sudo certbot delete
Zertifikate auflisten sudo certbot certificates
Hilfe anzeigen sudo certbot --help

9. Zertifikate manuell prüfen

Ob dein HTTPS-Setup korrekt funktioniert, kannst du online testen: https://www.ssllabs.com/ssltest/

Du solltest dort mindestens A- oder A+-Rating erhalten.

10. Best Practices

  1. Automatische Umleitung aktivieren: Alle HTTP-Anfragen auf HTTPS weiterleiten.

  2. HSTS (HTTP Strict Transport Security) aktivieren:

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    
  3. Nur moderne Protokolle: TLS 1.2 und 1.3 aktiv lassen, ältere Versionen deaktivieren.

  4. Monitoring: Überwache /var/log/letsencrypt/letsencrypt.log regelmäßig.

  5. Backup: Sichere /etc/letsencrypt/ regelmäßig mit in deine Server-Backups.

Mit Let’s Encrypt und Certbot richtest du in Minuten eine sichere HTTPS-Verbindung für dein Webprojekt ein. NGINX sorgt für hohe Performance, Certbot für bequeme Automatisierung – eine perfekte Kombination für moderne Webserver.

Einmal eingerichtet, läuft alles automatisch: kostenlos, sicher und zukunftssicher.