Let's Encrypt SSL-Zertifikat einrichten: Kostenlos und automatisch

HTTPS ist Pflicht — für SEO, Datenschutz und Vertrauen. So richten Sie ein kostenloses SSL-Zertifikat mit Let's Encrypt ein, das sich automatisch erneuert.

Eine Website ohne HTTPS ist 2026 nicht mehr akzeptabel. Browser zeigen Warnungen an, Google bestraft unverschlüsselte Seiten im Ranking, und die DSGVO verlangt technische Maßnahmen zum Schutz personenbezogener Daten — eine verschlüsselte Verbindung gehört dazu.

Die gute Nachricht: Mit Let's Encrypt bekommen Sie ein anerkanntes SSL-Zertifikat kostenlos, und mit dem richtigen Setup erneuert es sich automatisch.

Was ist Let's Encrypt?

Let's Encrypt ist eine gemeinnützige Zertifizierungsstelle (CA), die kostenlose SSL/TLS-Zertifikate ausstellt. Die Zertifikate sind 90 Tage gültig und werden über das ACME-Protokoll automatisch beantragt und erneuert.

Vorteile:

  • Kostenlos
  • Automatische Erneuerung
  • Von allen Browsern anerkannt
  • Einfache Einrichtung über Certbot

Variante 1: Certbot mit Nginx

# Certbot installieren
sudo apt install -y certbot python3-certbot-nginx

# Zertifikat beantragen (interaktiv)
sudo certbot --nginx -d example.com -d www.example.com

# Was passiert:
# 1. Certbot prüft ob Sie die Domain kontrollieren (HTTP-Challenge)
# 2. Zertifikat wird ausgestellt
# 3. Nginx-Konfiguration wird automatisch angepasst
# 4. Auto-Renewal wird eingerichtet

Automatische Erneuerung prüfen

# Dry-Run der Erneuerung
sudo certbot renew --dry-run

# Timer prüfen (Certbot erneuert automatisch via systemd)
sudo systemctl list-timers | grep certbot

Variante 2: Certbot mit Apache

sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com

Variante 3: DNS-Challenge (für Wildcards und interne Server)

Wenn Ihr Server nicht über Port 80 erreichbar ist (z.B. hinter einer Firewall), nutzen Sie die DNS-Challenge:

# Wildcard-Zertifikat für alle Subdomains
sudo certbot certonly --manual --preferred-challenges dns \
  -d "*.example.com" -d "example.com"

# Certbot zeigt einen TXT-Record an, den Sie bei Ihrem DNS-Provider eintragen
# Nach der Verifizierung wird das Zertifikat ausgestellt

DNS-Challenge automatisieren (Cloudflare-Beispiel)

# Cloudflare-Plugin installieren
sudo apt install -y python3-certbot-dns-cloudflare

# API-Credentials hinterlegen
cat > ~/.cloudflare.ini << 'EOF'
dns_cloudflare_api_token = IHR_API_TOKEN
EOF
chmod 600 ~/.cloudflare.ini

# Zertifikat beantragen (vollautomatisch)
sudo certbot certonly --dns-cloudflare \
  --dns-cloudflare-credentials ~/.cloudflare.ini \
  --dns-cloudflare-propagation-seconds 30 \
  -d "*.example.com" -d "example.com"
Webentwicklung und Hosting von Binary System Services

Variante 4: Reverse Proxy (Nginx Proxy Manager)

Wenn Sie mehrere Services hinter einem Reverse Proxy betreiben, ist Nginx Proxy Manager die komfortabelste Lösung:

  1. Proxy Host für Ihre Domain anlegen
  2. Im Tab "SSL" auf "Request a new SSL Certificate" klicken
  3. "Force SSL" aktivieren
  4. Fertig — Let's Encrypt Cert wird automatisch beantragt und erneuert

Kein Terminal, keine Config-Dateien, alles über die Web-Oberfläche.

Häufige Fehler

"Challenge failed" bei der HTTP-Validierung

  • Port 80 muss von außen erreichbar sein — auch wenn Ihre Website auf 443 läuft
  • Prüfen Sie Firewall-Regeln und Port-Forwarding
  • Cloudflare-Proxy kann die Validierung stören — temporär auf DNS-only schalten

Zertifikat erneuert sich nicht

# Manuelle Erneuerung erzwingen
sudo certbot renew --force-renewal

# Logs prüfen
sudo cat /var/log/letsencrypt/letsencrypt.log | tail -30

Rate Limits

Let's Encrypt hat Limits: maximal 50 Zertifikate pro Domain pro Woche. Nutzen Sie die Staging-Umgebung zum Testen:

sudo certbot --staging -d example.com

Sicherheits-Tipps

Starke SSL-Konfiguration

Prüfen Sie Ihre SSL-Konfiguration auf ssllabs.com/ssltest. Ziel: Note A oder A+.

Empfohlene Nginx-Einstellungen:

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;

# HSTS (erst aktivieren wenn HTTPS stabil läuft!)
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

OCSP Stapling

ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8 valid=300s;

Fazit

Es gibt keinen Grund mehr, auf HTTPS zu verzichten. Let's Encrypt macht es kostenlos, Certbot macht es automatisch. Ob direkt auf dem Webserver, über DNS-Challenge oder via Reverse Proxy — in 10 Minuten ist Ihre Website verschlüsselt.

Wenn Sie mehrere Domains und Services verwalten und eine zentrale SSL-Verwaltung brauchen, unterstützen wir Sie gerne.

Mehr zu unserer Webentwicklung