← Zurueck zu Webhosting
🔒

SSL-Zertifikate

HTTPS fuer deine Website - sicher und kostenlos.

⏱️ 20 Minuten 📊 Einfach
🔐 Verschluesselung
Vertrauen
💰 Kostenlos
🔄 Auto-Erneuerung
🤔 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 (Debian/Ubuntu)
bash

# 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
Zertifikat fuer Nginx holen
bash

# 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
Zertifikat fuer Apache holen
bash

# Automatisch: Certbot konfiguriert Apache
certbot --apache -d beispiel.de -d www.beispiel.de

# Testen
certbot renew --dry-run
Nur Zertifikat (ohne Webserver-Konfig)
bash

# 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!

Caddyfile
text

# 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.

docker-compose.yml (Traefik)
yaml

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.

Im Browser pruefen
bash

# Klicke auf das Schloss-Symbol in der Adressleiste
# Zeigt Aussteller, Gueltigkeit, etc.
Per Kommandozeile
bash

# 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

🔧 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