Zum Hauptinhalt springen

Kostenlose TLS-Zertifikate und HTTPS

Diese Anleitung wurde aus dem Englischen übersetzt. Einige verlinkte Seiten sind nur auf Englisch verfügbar.

Wie automatisches HTTPS funktioniert, wie Sie Zertifikate ausstellen und erneuern und warum Sie nie per HTTP ausliefern sollten.

HTTPS ist nicht mehr optional. Browser kennzeichnen reines HTTP als „Nicht sicher“, Suchmaschinen stufen es niedriger ein, und jede Anmeldung oder Zahlung darüber ist tatsächlich unsicher.

So funktioniert es hier

Wir verwenden Zertifikate von Let's Encrypt (kostenlos, automatisiert, weithin vertrauenswürdig), ausgestellt und erneuert von Certbot. Wenn Sie eine Domain mit einer Seite verknüpfen, können wir automatisch ein Zertifikat anfordern und vor Ablauf erneuern. Sie zahlen nie und müssen sich nie erinnern.

Ein Zertifikat ausstellen

  1. Stellen Sie sicher, dass der DNS der Domain bereits auf uns zeigt — die Zertifizierungsstelle prüft, ob Sie den Namen kontrollieren, was nur möglich ist, wenn der Name hierher auflöst.

  2. Öffnen Sie in /panel/web die Seite, wählen Sie SSL/TLS und fügen Sie die Domain hinzu.

  3. Wir fordern das Zertifikat an und installieren es. Das dauert meist Sekunden.

Fordern Sie sowohl example.com als auch www.example.com an, damit keine eine Warnung zeigt.

Erneuerung

Erneuerungen laufen automatisch. Den Zeitplan können Sie im Panel bestätigen, das Ablaufdatum jederzeit prüfen:

bash
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -subject -dates

Schlägt eine Erneuerung fehl, liegt es fast immer daran, dass die Domain nicht mehr zu uns auflöst (DNS geändert), Port 80 blockiert ist (der Validator braucht ihn) oder nach wiederholten Fehlern ein Rate-Limit erreicht wurde. Beheben Sie die Ursache und versuchen Sie es manuell erneut.

HTTP auf HTTPS umleiten

Ein Zertifikat allein verhindert nicht, dass Leute die reine HTTP-Version erreichen. Richten Sie eine permanente Weiterleitung ein — siehe HTTPS erzwingen und Weiterleitungen. Danach landet jeder Besucher auf der sicheren Version, auch wenn er http:// eintippt.

Richtig testen

bash
curl -I http://example.com      # should be a 301 to https://
curl -I https://example.com     # should be 200

Und prüfen Sie auf Mixed Content: Eine per HTTPS ausgelieferte Seite, die ein Bild oder Skript per reinem HTTP lädt, wird von Browsern als unsicher markiert. Laden Sie alles über https://-URLs.

Hinter einem Proxy oder CDN

Setzen Sie ein CDN vor uns, verläuft die Zertifikatskette CDN → Besucher UND CDN → Ursprung. Beide Abschnitte brauchen Zertifikate. Unsere Seite stellt für den Ursprung aus; das CDN für den besucherseitigen Namen. Siehe Was ist ein CDN und brauchen Sie eins?.

Weiterführendes