EMZETT.
Login

Let’s Encrypt und TLS-Zertifikate

Kurz: Für HTTPS braucht ein Server ein Zertifikat, das bestätigt: „Dieser Schlüssel gehört zu dieser Domain.“ Let’s Encrypt stellt solche Zertifikate kostenlos und automatisch aus.

Wie die Prüfung funktioniert (ACME)

Das Protokoll ACME lässt den Server beweisen, dass ihm die Domain gehört:

  • HTTP-01: Let’s Encrypt ruft eine bestimmte Datei unter http://domain/.well-known/acme-challenge/... ab. Port 80 muss erreichbar sein.
  • DNS-01: Man legt einen bestimmten TXT-Eintrag im DNS an (DNS). Nötig für Wildcard-Zertifikate (*.beispiel.de) und für Server ohne öffentlichen Zugang.

Mit certbot

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d beispiel.de -d www.beispiel.de
sudo certbot renew --dry-run      # Erneuerung testen

Zertifikate gelten nur 90 Tage, deshalb erneuert ein Timer sie automatisch (üblich ab 30 Tage Restlaufzeit). Caddy erledigt alles ohne zusätzliches Werkzeug, siehe Webserver im Vergleich: nginx, Apache und Caddy.

Was im Zertifikat steht

Domainnamen, Gültigkeit, öffentlicher Schlüssel und die Unterschrift der Ausstellerin. Der Browser prüft die Kette bis zu einer vertrauten Stelle, siehe Digitale Signatur und HTTPS.

Typische Probleme

  1. Port 80/443 durch die Firewall blockiert.
  2. DNS zeigt noch auf die alte Adresse.
  3. Zu viele Anfragen (es gibt Limits je Domain und Woche).
  4. Erneuerung läuft nicht, weil der Timer fehlt: regelmäßig prüfen.

Siehe auch: WireGuard: ein schlankes VPN