Alle SSL-Artikel SSL & Zertifikate

HSTS: HTTP Strict Transport Security erklärt

HSTS (HTTP Strict Transport Security) ist ein Sicherheits-Header, der Browser anweist, immer über HTTPS zu verbinden — selbst wenn der Benutzer http:// eingibt oder auf einen HTTP-Link klickt. Sobald ein Browser einen HSTS-Header erhält, stuft er automatisch alle zukünftigen Anfragen auf HTTPS hoch und verhindert so Downgrade-Angriffe und unsichere Verbindungen.

Warum HSTS wichtig ist

Ohne HSTS kann die erste Anfrage an Ihre Website HTTP sein (bevor die 301-Weiterleitung greift). Während dieses kurzen Zeitfensters kann ein Angreifer im Netzwerk:

  • HTTPS entfernen — die Weiterleitung abfangen und den Benutzer auf HTTP halten (SSL-Stripping-Angriff)
  • Cookies stehlen — wenn Cookies über die erste HTTP-Anfrage gesendet werden
  • Inhalte einschleusen — die Weiterleitungsantwort manipulieren

HSTS eliminiert dieses Zeitfenster. Nach dem ersten HTTPS-Besuch versucht der Browser nie wieder HTTP.

Wie Sie HSTS aktivieren

Nginx

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;

Fügen Sie dies in Ihren HTTPS-server-Block (Port 443) ein, nicht in den HTTP-Weiterleitungsblock.

Apache

Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"

Erfordert mod_headers (sudo a2enmod headers).

Cloudflare

Dashboard → SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS) → Aktivieren.

HSTS-Parameter

ParameterBeispielBedeutung
max-age63072000 (2 Jahre)Wie lange (in Sekunden) der Browser sich merkt, HTTPS zu verwenden
includeSubDomainsWendet HSTS auch auf alle Subdomains an
preloadSignalisiert die Absicht, der HSTS-Preload-Liste beizutreten

max-age wählen

Phasemax-ageZweck
Testen300 (5 Minuten)Überprüfen, ob HTTPS funktioniert, bevor Sie sich festlegen
Zuversichtlich604800 (1 Woche)Geringes Risiko bei Bedarf eines Rollbacks
Produktion31536000 (1 Jahr)Standardempfehlung
Langfristig63072000 (2 Jahre)Erforderlich für die Preload-Liste

Klein anfangen, schrittweise erhöhen. Wenn HTTPS ausfällt, während ein langer max-age-Wert gecacht ist, können Besucher Ihre Website überhaupt nicht erreichen — der Browser weigert sich, über HTTP zu verbinden.

HSTS Preload

Die HSTS-Preload-Liste ist eine Liste von Domains, die in Browser fest einprogrammiert sind, um immer HTTPS zu verwenden — sogar beim allerersten Besuch (bevor ein HSTS-Header empfangen wird).

Voraussetzungen für Preload

  1. Ein gültiges HTTPS-Zertifikat bereitstellen
  2. HTTP auf HTTPS weiterleiten auf demselben Host
  3. HSTS-Header mit max-age ≥ 63072000 (2 Jahre)
  4. Die includeSubDomains-Direktive einschließen
  5. Die preload-Direktive einschließen
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

Für Preload einreichen

Gehen Sie zu hstspreload.org, geben Sie Ihre Domain ein und reichen Sie sie ein. Nach Prüfung (Wochen bis Monate) wird Ihre Domain in die integrierten Listen der Browser aufgenommen.

Warnhinweise zum Preload

  • Es ist schwer rückgängig zu machen. Die Entfernung von der Preload-Liste dauert Monate und erfordert einen Browser-Release-Zyklus. Während dieser Zeit kann Ihre Domain nur über HTTPS erreicht werden.
  • includeSubDomains ist Pflicht — jede Subdomain muss HTTPS unterstützen. Wenn staging.example.com kein Zertifikat hat, wird es unerreichbar.
  • Nur Preload verwenden, wenn Sie sicher sind, dass alle aktuellen und zukünftigen Subdomains HTTPS unterstützen werden.

Häufige Fehler

HSTS in der HTTP-Antwort setzen

HSTS darf nur über HTTPS gesendet werden. Wenn Ihre HTTP-Weiterleitung ebenfalls den HSTS-Header sendet, ignorieren Browser ihn (die Spezifikation erfordert HTTPS). Setzen Sie den Header nur in Ihrem Port-443-Block.

Subdomains vergessen

includeSubDomains wendet HSTS auf alle Subdomains an. Wenn internal.example.com kein HTTPS hat, wird es unerreichbar. Prüfen Sie alle Subdomains vor der Aktivierung.

max-age zu früh zu hoch setzen

Wenn HTTPS ausfällt (abgelaufenes Zertifikat, Konfigurationsfehler), können Besucher nicht auf HTTP zurückfallen. Ihr Browser weigert sich zu verbinden. Beginnen Sie mit 5 Minuten, überprüfen Sie alles und erhöhen Sie dann auf 1 Jahr.

Wie Sie prüfen, ob HSTS aktiv ist

curl -sI https://yourdomain.com | grep -i strict-transport
# Erwartet: strict-transport-security: max-age=63072000; includeSubDomains

In Chrome DevTools: Netzwerk-Tab → Anfrage anklicken → Header → nach Strict-Transport-Security suchen.

Häufig gestellte Fragen

Ersetzt HSTS HTTP→HTTPS-Weiterleitungen?

Nein. HSTS und Weiterleitungen dienen unterschiedlichen Zwecken. Die Weiterleitung fängt die erste HTTP-Anfrage ab. HSTS weist den Browser an, nie wieder HTTP-Anfragen zu stellen (nach dem ersten HTTPS-Besuch). Sie brauchen beides.

Kann HSTS Probleme verursachen?

Ja, wenn HTTPS ausfällt. Mit einem langen max-age weigern sich Browser, als Fallback über HTTP zu verbinden. Deshalb sollten Sie mit einem kurzen max-age beginnen und ihn erst erhöhen, wenn HTTPS stabil läuft.

Brauche ich HSTS, wenn ich Cloudflare verwende?

Cloudflare handhabt die Besucher→Cloudflare-Verbindung, aber HSTS auf Ihrem Origin-Server schützt die gesamte Kette. Aktivieren Sie HSTS über das Cloudflare-Dashboard für die Edge und auf Ihrem Origin-Server, wenn Sie den Full (Strict) Modus verwenden.

Was ist der Unterschied zwischen HSTS und der CSP-Direktive upgrade-insecure-requests?

upgrade-insecure-requests weist den Browser an, Unterressourcen (Bilder, Skripte) über HTTPS statt HTTP zu laden — um Mixed Content zu beheben. HSTS weist den Browser an, für die gesamte Domain immer HTTPS zu verwenden. Sie lösen unterschiedliche Probleme und können zusammen verwendet werden.

Verwandte Artikel

Bereitstellung 2026-05-07
HTTP auf HTTPS umleiten
Gesamten Traffic mit serverseitigen Weiterleitungen auf HTTPS erzwingen. Konfigurationsbeispiele für Nginx, Apache und .htaccess mit permanenten 301-Weiterleitungen.
SSL & Zertifikate 2026-05-08
Was ist HTTPS? Ein vollstaendiger Leitfaden
HTTPS verschluesselt die Verbindung zwischen Ihrem Browser und einer Website. Erfahren Sie, wie HTTPS funktioniert, den TLS-Handshake, Unterschiede zwischen HTTP und HTTPS, Auswirkungen auf die Leistung und wie Sie es kostenlos aktivieren.
Bereitstellung 2026-05-08
So installieren Sie ein SSL-Zertifikat auf Nginx
Schritt-für-Schritt-Anleitung zur Installation eines SSL-Zertifikats auf Nginx. Behandelt Dateiupload, vollständige Serverblock-Konfiguration, TLS Best Practices, HTTP/2, HSTS, Weiterleitungs-Setup, Tests und Fehlerbehebung für 6 häufige Fehler.
Bereitstellung 2026-05-08
So installieren Sie ein SSL-Zertifikat auf Apache
Schritt-für-Schritt-Anleitung zur Installation eines SSL-Zertifikats auf Apache mit mod_ssl. Behandelt Datei-Upload, VirtualHost-Konfiguration, TLS-Best-Practices, HSTS, HTTP-Weiterleitung und Fehlerbehebung für 5 häufige Fehler.
Kostenloses SSL-Zertifikat im Browser erhalten
Keine Installation, kein Konto. Ihr privater Schlüssel verlässt nie Ihr Gerät.
Zertifikat erhalten