Zum Inhalt springen

Let's Encrypt im Webhosting: Zertifikat, Erneuerung, Fehlersuche

Christopher Sakel  ·   ·  5 Min. Lesezeit

Updates & News · Min. 5 Lesezeit · Christopher Sakel

Let's Encrypt im Webhosting: Zertifikat, Erneuerung, Fehlersuche
Kurz gefasst
  • Let's-Encrypt-Zertifikate sind kostenlos, gelten 90 Tage und erneuern sich im Webhosting bei uns automatisch im Hintergrund
  • Scheitert die Erneuerung, liegt es fast immer an Port 80, einem falschen DNS-Eintrag oder einem Reverse Proxy, der die Anfrage abfängt
  • Für Wildcard-Zertifikate (*.deine-domain.de) brauchst du die DNS-01-Challenge statt HTTP-01

Ein rotes Schloss-Symbol im Browser hat schon mehr Besucher verscheucht als jede lahme Ladezeit. "Nicht sicher" steht da, und wer auf einer Bestellseite landet, klickt weg, bevor er die Kreditkartennummer eintippt. Let's Encrypt hat dieses Problem für den Großteil des Webs gelöst, weil es das Zertifikat kostenlos macht – aber "kostenlos" heißt nicht "kümmert sich von allein um alles", und genau da entstehen die Supportanfragen, die wir regelmäßig bekommen.

Wie Let's Encrypt überhaupt funktioniert

Let's Encrypt ist eine Zertifizierungsstelle, die über das ACME-Protokoll automatisiert prüft, ob du wirklich die Kontrolle über eine Domain hast, und dir dafür ein Domain-Validated-Zertifikat (DV) ausstellt. Kein Handelsregisterauszug, kein Telefonat, keine Wartezeit von mehreren Tagen wie bei klassischen kostenpflichtigen Zertifikaten. Die Prüfung läuft über eine sogenannte Challenge, und genau die Wahl der Challenge entscheidet später darüber, ob eine Erneuerung klappt oder mit einer kryptischen Fehlermeldung abbricht.

ChallengeWie sie prüftWann sinnvoll
HTTP-01Legt eine Datei unter deiner Domain ab, Let's Encrypt ruft sie über Port 80 abStandard-Webhosting mit erreichbarem Port 80, ein Zertifikat pro Domain/Subdomain
DNS-01Du legst einen TXT-Eintrag im DNS deiner Domain an, den Let's Encrypt abfragtWildcard-Zertifikate, Server ohne offenen Port 80, interne Systeme
TLS-ALPN-01Prüfung direkt über Port 443 per TLS-ErweiterungSelten, meist wenn Port 80 dauerhaft blockiert bleiben muss

So läuft das Zertifikat im Webhosting bei uns

Wenn deine Domain über den Kundenbereich mit deinem Webhosting verbunden ist, übernimmt Plesk die Ausstellung und Erneuerung selbst – du musst kein Zertifikat manuell bestellen. Voraussetzung ist, dass die Domain tatsächlich auf unsere Server zeigt, sonst schlägt die HTTP-01-Prüfung fehl, weil Let's Encrypt die Antwort nicht bei uns, sondern bei deinem alten Provider abholt. Wie du die DNS-Einträge dafür richtig setzt, steht im Beitrag Domain mit Webhosting verbinden.

  1. Domain im Kundenbereich mit dem Webhosting-Vertrag verknüpfen und den DNS-Eintrag (A-Record bzw. Nameserver) setzen
  2. Im Plesk-Panel unter "Websites & Domains" → "SSL/TLS-Zertifikate" den Punkt "Let's Encrypt" öffnen
  3. Domain-Varianten auswählen (mit und ohne www) und Zertifikat ausstellen lassen
  4. Unter "Hosting-Einstellungen" die Weiterleitung von HTTP auf HTTPS aktivieren, damit alter Traffic nicht auf der unverschlüsselten Seite landet

Auf einem eigenen Rootserver mit Webhosting läuft das gleiche Prinzip, nur dass du selbst für den ACME-Client verantwortlich bist. Der gängigste Client heißt Certbot:

apt install certbot python3-certbot-nginx
certbot --nginx -d deine-domain.de -d www.deine-domain.de

Certbot legt dabei automatisch einen Cronjob bzw. systemd-Timer an, der zweimal täglich prüft, ob eine Erneuerung fällig ist. Erneuert wird nicht erst kurz vor Ablauf, sondern schon deutlich früher – so bleibt Zeit, ein Problem zu bemerken, bevor die Seite tatsächlich mit einem abgelaufenen Zertifikat dasteht.

Ob die automatische Erneuerung grundsätzlich funktionieren würde, kannst du jederzeit gefahrlos testen, ohne ein echtes Zertifikat zu verbrauchen:
certbot renew --dry-run
Läuft der Trockentest durch, läuft auch die echte Erneuerung.

Wenn die Erneuerung scheitert

Fast jede fehlgeschlagene Erneuerung lässt sich auf eine von wenigen Ursachen zurückführen:

  • Port 80 blockiert – eine Firewall-Regel oder ein restriktives Sicherheitsplugin lässt die Validierungsanfrage von Let's Encrypt gar nicht erst durch
  • DNS zeigt nicht mehr auf den richtigen Server – etwa nach einem Providerwechsel, bei dem der alte A-Record vergessen wurde
  • Reverse Proxy oder CDN fängt die Anfrage ab – die Datei unter /.well-known/acme-challenge/ wird nie beim eigentlichen Server ausgeliefert
  • Falsche Berechtigungen im Webroot – der ACME-Client kann die Validierungsdatei nicht schreiben oder der Webserver kann sie nicht lesen
  • Zu viele Fehlversuche in kurzer Zeit – Let's Encrypt begrenzt, wie oft du für dieselbe Domain in einem Zeitraum neue Zertifikate anfordern kannst, gerade beim Testen lohnt sich deshalb erst der Staging-Modus
Wer beim Debuggen mehrfach hintereinander "auf gut Glück" ein neues Zertifikat anfordert, kann in das Rate-Limit von Let's Encrypt laufen. Nutze für Tests den Staging-Server (certbot --staging) – der zählt nicht gegen das Limit für echte Zertifikate.

Eine typische Fehlermeldung ist "Invalid response from ... : 404" – das heißt fast immer, dass die Challenge-Datei nicht dort ankommt, wo Let's Encrypt sie erwartet. Prüfe zuerst, ob die Domain überhaupt bei uns liegt, dann ob ein Proxy oder eine Weiterleitungsregel im Spiel ist, die Pfade unter /.well-known/ anders behandelt als den Rest der Seite.

Wildcard-Zertifikate

Für ein Zertifikat, das gleich alle Subdomains abdeckt (*.deine-domain.de), reicht HTTP-01 nicht – Let's Encrypt verlangt hier zwingend DNS-01, weil sich ein Wildcard nicht über eine einzelne erreichbare URL validieren lässt. Du brauchst also Zugriff auf die DNS-Verwaltung deiner Domain und musst dort einen TXT-Eintrag setzen können, entweder manuell für jede Erneuerung oder automatisiert über ein DNS-Plugin deines ACME-Clients.

Dafür
  • Kostenlos, kein wiederkehrender Zertifikatspreis
  • Vollautomatisierbar, kein manuelles Erneuern nötig
  • Breite Unterstützung in Plesk, Nginx, Apache, allen gängigen Browsern
Dagegen
  • Nur Domain-Validierung, keine Organisationsprüfung wie bei EV-Zertifikaten
  • Kurze Laufzeit von 90 Tagen macht dich von einer funktionierenden Automatisierung abhängig
  • Wildcard erfordert DNS-01 und damit API-Zugriff auf die DNS-Verwaltung
Ein Zertifikat, das niemand erneuert, ist nur ein Ablaufdatum mit Umweg.

Prüfen, ob es geklappt hat

Nach der Ausstellung oder Erneuerung reicht ein kurzer Check:

echo | openssl s_client -connect deine-domain.de:443 -servername deine-domain.de 2>/dev/null | openssl x509 -noout -dates

Die Ausgabe zeigt notBefore und notAfter – liegt notAfter rund 90 Tage in der Zukunft, ist alles aktuell. Ergänzend lohnt ein Blick in den Browser selbst: Schloss-Symbol anklicken, Zertifikatsdetails ansehen, Aussteller sollte "Let's Encrypt" oder "R-irgendwas" (die aktuelle Zwischen-CA) sein. Für DSGVO-relevante Hintergründe rund um Webhosting in Deutschland lohnt sich außerdem ein Blick in unseren Beitrag Webhosting in Deutschland – Sicher, flexibel und DSGVO-konform, gerade wenn Verschlüsselung Teil deiner Compliance-Anforderungen ist.

Häufige Fragen

Wie lange ist ein Let's-Encrypt-Zertifikat gültig, und muss ich mich selbst um die Verlängerung kümmern?
Ein Let's-Encrypt-Zertifikat gilt 90 Tage. Im Webhosting bei uns läuft die Erneuerung automatisch über Plesk, du musst nichts anstoßen. Auf einem selbst verwalteten Rootserver übernimmt das der Cronjob bzw. Timer deines ACME-Clients, sofern er korrekt eingerichtet ist.
Warum bekomme ich beim Ausstellen die Meldung, die Challenge sei fehlgeschlagen?
Meist erreicht Let's Encrypt die Validierungsdatei unter /.well-known/acme-challenge/ nicht. Häufigste Ursachen: Port 80 ist durch eine Firewall blockiert, der DNS-Eintrag der Domain zeigt noch auf den alten Provider, oder ein Reverse Proxy fängt den Pfad ab, bevor er beim Webserver ankommt.
Kann ich mit Let's Encrypt auch ein Wildcard-Zertifikat für alle Subdomains bekommen?
Ja, aber nur über die DNS-01-Challenge, nicht über HTTP-01. Dafür brauchst du Zugriff auf die DNS-Verwaltung deiner Domain, um den geforderten TXT-Eintrag zu setzen.
Mein Zertifikat ist gültig, der Browser zeigt trotzdem 'nicht sicher' an – woran liegt das?
In den meisten Fällen an gemischten Inhalten (Mixed Content): Die Seite lädt selbst über HTTPS, bindet aber noch einzelne Bilder, Skripte oder Stylesheets über http:// ein. Prüfe die Seitenquelle bzw. die Browser-Konsole auf entsprechende Warnungen.
Kostet das SSL-Zertifikat bei euch im Webhosting extra?
Nein, Let's Encrypt ist grundsätzlich kostenlos ausgestellt und im Webhosting-Vertrag bereits enthalten.