SSL-Zertifikate
HTTPS fuer deine Website - sicher und kostenlos.
🤔 Was ist SSL/TLS?
SSL (Secure Sockets Layer) bzw. sein Nachfolger TLS (Transport Layer Security) verschluesselt die Verbindung zwischen Browser und Server.
Ohne HTTPS
- Daten unverschluesselt uebertragen
- Passwoerter koennen abgefangen werden
- Browser zeigt Warnung an
- Schlechteres Google-Ranking
Mit HTTPS
- Alle Daten verschluesselt
- Sichere Passwortuebertragung
- Gruenes Schloss im Browser
- Besseres Google-Ranking
HTTPS ist Pflicht!
Ohne HTTPS zeigen moderne Browser Warnungen an. Nutzer verlieren Vertrauen, und Google stuft deine Seite herab. Es gibt keinen Grund mehr, kein HTTPS zu nutzen!
💰 Kostenlose Zertifikate
Lets Encrypt ist eine gemeinnuetzige Zertifizierungsstelle, die kostenlose SSL-Zertifikate ausstellt.
Vorteile
- Komplett kostenlos
- Automatische Erneuerung moeglich
- Von allen Browsern akzeptiert
- Einfache Einrichtung mit Certbot
- Wildcard-Zertifikate verfuegbar
Zertifikats-Laufzeit
Lets Encrypt Zertifikate sind 90 Tage gueltig. Mit automatischer Erneuerung (Certbot) kein Problem - die Erneuerung erfolgt automatisch 30 Tage vor Ablauf.
🤖 SSL mit Certbot einrichten
Certbot ist das offizielle Tool fuer automatische Zertifikate.
# Certbot installieren
apt update
apt install -y certbot
# Mit Nginx-Plugin
apt install -y python3-certbot-nginx
# Mit Apache-Plugin
apt install -y python3-certbot-apache
# Automatisch: Certbot konfiguriert Nginx
certbot --nginx -d beispiel.de -d www.beispiel.de
# Es wird gefragt:
# - E-Mail-Adresse (fuer Ablauf-Warnungen)
# - Nutzungsbedingungen akzeptieren
# - HTTP zu HTTPS umleiten? Ja empfohlen
# Testen ob alles funktioniert
certbot renew --dry-run
# Automatisch: Certbot konfiguriert Apache
certbot --apache -d beispiel.de -d www.beispiel.de
# Testen
certbot renew --dry-run
# Standalone-Modus (Webserver muss gestoppt sein!)
certbot certonly --standalone -d beispiel.de
# Webroot-Modus (Webserver laeuft weiter)
certbot certonly --webroot -w /var/www/html -d beispiel.de
# Zertifikate liegen dann in:
# /etc/letsencrypt/live/beispiel.de/fullchain.pem
# /etc/letsencrypt/live/beispiel.de/privkey.pem
Automatische Erneuerung
Certbot richtet automatisch einen Cronjob/Timer ein.
Pruefe mit: systemctl status certbot.timer
⚡ SSL mit Caddy (automatisch)
Caddy holt und erneuert SSL-Zertifikate vollautomatisch - keine Konfiguration noetig!
# Das ist alles! Caddy holt automatisch ein Zertifikat
beispiel.de /
root * /var/www/html
file_server
/
# Mit Reverse Proxy
cloud.beispiel.de /
reverse_proxy localhost:8080
/
# Mehrere Domains
beispiel.de, www.beispiel.de /
root * /var/www/html
file_server
/
Caddy ist ideal fuer
- Self-Hosting und Homelab
- Einfache Setups ohne viel Konfiguration
- Wenn automatisches HTTPS gewuenscht ist
🐳 SSL mit Traefik (Docker)
Traefik ist ideal fuer Docker-Umgebungen mit automatischem HTTPS.
version: "3"
services:
traefik:
image: traefik:v2.10
command:
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.letsencrypt.acme.email=admin@beispiel.de"
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./letsencrypt:/letsencrypt"
webapp:
image: nginx
labels:
- "traefik.enable=true"
- "traefik.http.routers.webapp.rule=Host(`beispiel.de`)"
- "traefik.http.routers.webapp.entrypoints=websecure"
- "traefik.http.routers.webapp.tls.certresolver=letsencrypt"
Docker Socket
Traefik braucht Zugriff auf den Docker Socket. Das ist ein Sicherheitsrisiko. In Produktion: Read-only Mount und/oder Docker Socket Proxy verwenden.
🔍 Zertifikat pruefen
So pruefst du ob dein Zertifikat korrekt eingerichtet ist.
# Klicke auf das Schloss-Symbol in der Adressleiste
# Zeigt Aussteller, Gueltigkeit, etc.
# Zertifikat-Details anzeigen
openssl s_client -connect beispiel.de:443 -servername beispiel.de
# Nur Ablaufdatum
echo | openssl s_client -connect beispiel.de:443 2>/dev/null | openssl x509 -noout -dates
# Certbot: Alle Zertifikate anzeigen
certbot certificates
Online-Tools
- SSL Labs - Detaillierter SSL-Test
- SSL Checker - Schneller Check
🔧 Haeufige Probleme
Typische SSL-Probleme und Loesungen.
Zertifikat abgelaufen
Browser zeigt "Zertifikat abgelaufen" Warnung.
certbot renew --force-renewal
Mixed Content
Seite laedt unsichere Ressourcen (HTTP) auf HTTPS-Seite.
Loesung: Alle Links auf HTTPS umstellen oder relative URLs verwenden.
Challenge fehlgeschlagen
Lets Encrypt kann Domain nicht verifizieren.
- DNS-Eintraege pruefen (zeigt auf richtigen Server?)
- Port 80 offen und erreichbar?
- Firewall blockiert?
Rate Limit erreicht
Zu viele Zertifikate angefordert.
Loesung: Eine Woche warten. Fuer Tests: --staging Flag nutzen.
HTTPS einrichten lassen?
Wir kuemmern uns um SSL-Zertifikate, automatische Erneuerung und sichere Konfiguration.
Beratung anfragen