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

Sichere Verbindungen sind heute Standard – nicht nur für Online-Shops oder Logins, sondern auch für ganz normale Websites. HTTPS ist längst ein Muss, denn es schützt die Datenübertragung, stärkt das Vertrauen der Nutzer und verbessert das Google-Ranking.

Zum Glück musst du für SSL-Zertifikate nicht tief in die Tasche greifen: Mit Let’s Encrypt und Certbot kannst du deine Website unter NGINX kostenlos, automatisiert und dauerhaft sicher betreiben.

1. Was ist Let’s Encrypt?

Let’s Encrypt ist eine kostenlose, automatisierte und offene Zertifizierungsstelle (CA). Sie stellt SSL/TLS-Zertifikate aus, mit denen du deine Website per HTTPS absichern kannst.

Vorteile von Let’s Encrypt:

  • Kostenlose SSL/TLS-Zertifikate
  • Automatische Erneuerung
  • Schnell eingerichtet
  • Voll integriert in NGINX und Apache
  • Offener Standard – gefördert von Mozilla, EFF, Akamai & Co.

2. Was ist Certbot?

Certbot ist das offizielle Automatisierungstool der Let’s-Encrypt-Initiative. Es übernimmt alle Schritte automatisch:

  • Zertifikate anfordern
  • Zertifikate installieren
  • NGINX automatisch konfigurieren
  • und Zertifikate regelmäßig erneuern

Einmal eingerichtet, läuft alles automatisch im Hintergrund – du musst dich nicht mehr um Ablaufdaten kümmern.

3. Voraussetzungen

Bevor du loslegst, stelle sicher, dass:

  • NGINX installiert und lauffähig ist
  • Deine Domain auf den Server zeigt (A- oder CNAME-Record)
  • Du Root- oder sudo-Zugriff auf den Server hast
  • Die Ports 80 (HTTP) und 443 (HTTPS) offen sind

4. Certbot installieren

Unter Debian/Ubuntu:

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

Unter CentOS/RHEL:

sudo dnf install certbot python3-certbot-nginx -y

Nach der Installation ist Certbot sofort einsatzbereit.

5. SSL-Zertifikat automatisch einrichten

Starte den Einrichtungsassistenten:

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

Certbot führt dich Schritt für Schritt durch:

  1. Zertifikat wird beantragt
  2. NGINX-Konfiguration wird automatisch angepasst
  3. Optional wird eine Weiterleitung von HTTP → HTTPS aktiviert

Nach wenigen Sekunden siehst du:

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

Deine Website ist jetzt sicher über https://deine-domain.de erreichbar.

6. Beispielkonfiguration für NGINX

Certbot erstellt eine funktionsfähige Konfiguration, die du bei Bedarf anpassen kannst:

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;

    location / {
        try_files $uri $uri/ =404;
    }
}

7. Automatische Erneuerung

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

Überprüfe den Timer:

sudo systemctl list-timers | grep certbot

Oder teste manuell:

sudo certbot renew --dry-run

Die Erneuerung läuft über einen systemd-Timer (bzw. Cronjob) – du musst nichts weiter tun.

8. SSL-Zertifikat manuell prüfen

Falls du den Status deiner Zertifikate prüfen möchtest:

sudo certbot certificates

Oder direkt im Browser:

  • „🔒“-Symbol anklicken
  • „Zertifikat anzeigen“
  • Ablaufdatum und Aussteller kontrollieren

Für eine detaillierte Sicherheitsanalyse: https://www.ssllabs.com/ssltest/

9. Best Practices für sichere NGINX-SSL-Konfiguration

  1. HSTS aktivieren (HTTP Strict Transport Security):

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    
  2. Nur moderne TLS-Versionen aktivieren: TLS 1.0/1.1 sind unsicher – verwende TLSv1.2 und TLSv1.3.

  3. Automatische Umleitung erzwingen: Nur HTTPS zulassen, HTTP dauerhaft umleiten.

  4. Logging aktivieren:

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    
  5. Zertifikate sichern: Regelmäßig /etc/letsencrypt/ in dein Backup aufnehmen.

Mit Let’s Encrypt und Certbot wird HTTPS zur Selbstverständlichkeit. In wenigen Minuten richtest du ein kostenloses, automatisch erneuerndes SSL-Zertifikat ein – direkt integriert in NGINX.

Das Ergebnis: 🔒 Sichere Verbindung, 🧭 höheres Vertrauen, ⚡ bessere Performance, 📈 SEO-Vorteile – ganz ohne Aufwand oder Kosten.