Kostenloses SSL für alle Ihre Websites: wie Let's Encrypt funktioniert (und wie man es automatisiert)
Für SSL-Zertifikate zu zahlen ergibt seit 2016 keinen Sinn mehr. Let's Encrypt stellt sie kostenlos aus — aber die eigentliche Arbeit ist, sie alle 90 Tage zu erneuern, für immer, ohne Ausfall. So funktionieren TLS und ACME wirklich, so beheben Sie die häufigen Fehler, und so wird die Erneuerung zu etwas, woran Sie nie denken.
Es gab eine Zeit, in der ein SSL-Zertifikat ein Posten auf der Rechnung war — 50 bis 200 € pro Jahr, pro Domain, bei einem Reseller gekauft und von Hand installiert. Seit Let's Encrypt 2016 startete, ist das schlicht vorbei. HTTPS ist heute kostenlos, automatisierbar und erwartet: Browser markieren reines HTTP als „Nicht sicher", und Google behandelt HTTPS als Ranking-Signal. Wenn Sie 2026 noch für ein einfaches domainvalidiertes Zertifikat zahlen, zahlen Sie für nichts.
Aber „kostenlos" verbirgt die eigentliche Arbeit. Ein Let's-Encrypt-Zertifikat ist nur 90 Tage gültig. Der Wert war nie das Zertifikat — es ist, das Zertifikat jeder Site erneuert zu halten, für immer, ohne Ausfall um 3 Uhr nachts, wenn eines still abläuft. Dieser Artikel erklärt, wie TLS und Let's Encrypt wirklich funktionieren, wie Sie die Fehler beheben, die jeder trifft, und wie Sie die Erneuerung zu einem Problem machen, an das Sie nie wieder denken müssen.
Auffrischung in 60 Sekunden: was TLS wirklich tut
Wenn ein Browser über HTTPS verbindet, erledigt TLS (der Nachfolger von SSL — wir sagen aus Gewohnheit noch „SSL") zwei Aufgaben:
- Verschlüsselung — niemand zwischen Browser und Ihrem Server kann den Verkehr lesen. Passwörter, Sitzungen und Formulardaten bleiben in jedem Netzwerk privat.
- Identität — ein Zertifikat, signiert von einer vertrauenswürdigen Zertifizierungsstelle (CA), beweist, dass der Server wirklich
example.comist und kein Betrüger. Das bedeutet das Schloss.
Ein Zertifikat ist nur ein öffentlicher Schlüssel plus einige Identitätsangaben, kryptografisch signiert von einer CA, der der Browser bereits vertraut. Das Schwierige war historisch, eine CA zur Signatur zu bewegen — das hieß Geld und manuelle Schritte. Genau das hat Let's Encrypt automatisiert.
Wie Let's Encrypt beweist, dass Ihnen die Domain gehört (ACME)
Let's Encrypt ist eine kostenlose, automatisierte CA. Es signiert kein Zertifikat für example.com, bis Sie beweisen, dass Sie diese Domain kontrollieren — über ein Protokoll namens ACME. Es gibt zwei Wege, die Prüfung zu bestehen:
- HTTP-01 — die CA bittet Ihren Server, eine bestimmte Token-Datei unter
http://ihredomain/.well-known/acme-challenge/…abzulegen. Sie ruft diese URL ab; ist das Token da, kontrollieren Sie die Site eindeutig. Das braucht erreichbaren Port 80 und funktioniert für einen Hostnamen zur Zeit. - DNS-01 — die CA bittet Sie, einen bestimmten
TXT-Eintrag unter_acme-challenge.ihredomainzu veröffentlichen. Sie fragt das DNS ab; stimmt der Eintrag, sind Sie validiert. Dieser braucht keinen offenen Webserver und ist der einzige Weg zu einem Wildcard-Zertifikat (*.ihredomain).
Nach der Validierung signiert die CA Ihr Zertifikat. Ein Client wie certbot automatisiert den ganzen Tanz — anfordern, beweisen, empfangen, installieren — und kann Ihren Webserver neu laden, damit das neue Zertifikat ohne Ausfall live geht.
Die Erneuerung ist die eigentliche Aufgabe
Hier der unterschätzte Teil. Die 90-Tage-Lebensdauer ist Absicht: kurzlebige Zertifikate begrenzen den Schaden eines gestohlenen Schlüssels und erzwingen Automatisierung. Aber es bedeutet, dass jedes Zertifikat etwa alle 60 Tage erneuert werden muss (man erneuert vor Ablauf, nicht am Tag selbst). Versäumen Sie es, bekommen Besucher eine bildschirmfüllende Browser-Warnung — die Sorte, die Menschen abwandern und nie wiederkommen lässt.
Der Standardrat ist ein Cronjob, der zweimal täglich certbot renew ausführt; certbot erneuert tatsächlich nur Zertifikate im 30-Tage-Fenster. Das funktioniert — bis es das nicht mehr tut: eine Erneuerung schlägt still fehl, weil Port 80 gesperrt wurde, ein DNS-Eintrag sich änderte oder eine veraltete certbot-Sperrdatei den Lauf blockiert, und niemand bemerkt es bis zum Ablauf. Erneuern ist nicht schwer; eine fehlgeschlagene Erneuerung zu bemerken ist, woran sich Sites verbrennen.
Die Fehler, die jeder trifft (und die Lösung)
- „Timeout during connect" / HTTP-01 scheitert — die CA erreichte Port 80 nicht. Prüfen Sie, dass Ihre Firewall (UFW/Cloud-Firewall) eingehend
80erlaubt und das DNS der Domain wirklich auf diesen Server zeigt. - „DNS problem: NXDOMAIN" / Eintrag nicht gefunden — die Domain löst noch nicht auf, oder Sie stellen vor der Propagierung aus. Warten Sie auf die DNS-Propagierung; bei DNS-01 bestätigen Sie, dass der
_acme-challenge-TXT-Eintrag live ist, bevor Sie validieren. - Ein CAA-Eintrag verbietet die Ausstellung — ein
CAA-DNS-Eintrag auf Ihrer Domain schränkt ein, welche CAs ausstellen dürfen. Fügen Sieletsencrypt.orghinzu oder entfernen Sie den restriktiven Eintrag. - „Too many certificates already issued" (Rate-Limit) — Let's Encrypt begrenzt Zertifikate pro registrierter Domain und Woche. Nutzen Sie beim Testen die Staging-Umgebung, um Ihr Produktionskontingent nicht zu verbrauchen, und wechseln Sie dann zu Produktion, sobald es klappt.
- Zertifikat erneuert, aber die Site liefert noch das alte — der Webserver wurde nach der Erneuerung nicht neu geladen. Die Erneuerung muss ein
nginx -s reload(oder Äquivalent) auslösen, um das neue Zertifikat zu übernehmen.
Nichts davon ist exotisch. Aber sie über ein Dutzend Sites von Hand zu diagnostizieren, ist genau die wiederkehrende Plackerei, die ein Panel beseitigen soll.
Es von Hand zu machen ist fummelig — automatisieren Sie es weg
certbot zu verdrahten, die richtige Prüfung zu wählen, Port 80 zu öffnen, einen Erneuerungs-Cron zu skripten, ihn nginx neu laden zu lassen und zu überwachen, dass Erneuerungen wirklich gelingen — für jede Domain, für immer — sind viele bewegliche Teile, die korrekt bleiben müssen. Das ist die wiederkehrende, leicht vergessene Arbeit, die ein Panel übernehmen sollte.
ShadowPanel macht SSL zum Nicht-Ereignis:
- Ausstellung per Klick. Richten Sie eine Domain auf Ihren Server und stellen Sie ihr ein kostenloses Let's-Encrypt-Zertifikat aus — das Panel führt certbot aus, erledigt die Prüfung und lädt nginx neu, sodass HTTPS sofort live ist.
- Automatische Erneuerung, überwacht. Ein geplanter Worker prüft täglich und erneuert jedes Zertifikat innerhalb von 30 Tagen vor Ablauf — weit vor der Frist. Er räumt vor jedem Lauf veraltete certbot-Sperren weg, damit eine übrig gebliebene Sperrdatei die Erneuerung nicht still blockieren kann, und protokolliert Fehler, statt still zu scheitern.
- Wildcard-Unterstützung für
*.ihredomainper DNS-Validierung, sodass jede Subdomain von einem Zertifikat abgedeckt ist. - Kostenlos auf jeder Stufe. SSL ist kein kostenpflichtiges Upsell — jede Site, die Sie hosten, bekommt verschlüsseltes HTTPS ohne Aufpreis, inklusive der kostenlosen Stufe.
Das Ergebnis: Sie stellen einmal aus, und die Erneuerung wird schlicht nie Ihr Problem. Diese Zuverlässigkeit zählt am meisten, wenn Sie viele Sites hosten — siehe mehrere Kundenseiten auf einem VPS hosten, wo ein abgelaufenes Zertifikat ein unzufriedener Kunde ist.
Fazit
Kostenloses SSL ist nicht mehr die Errungenschaft — Let's Encrypt hat das 2016 erledigt. Die eigentliche Arbeit ist, ein 90-Tage-Zertifikat für jede Site zu erneuern, für immer, und zu wissen, wann eine Erneuerung fehlschlägt, bevor Ihre Besucher es tun. Verstehen Sie die beiden ACME-Prüfungen, halten Sie Port 80 (oder Ihre DNS-Einträge) gesund und automatisieren Sie vor allem die Erneuerung mit Überwachung. ShadowPanel tut all das standardmäßig, kostenlos auf jeder Stufe, sodass HTTPS etwas ist, das Sie einmal einrichten und an das Sie nie wieder denken.
curl -fsSL https://shadowpanel.de/install.sh | bash