HSTS-Header-Generator

HSTS (Strict-Transport-Security) Header Generator & Preload-Prüfer

IETF RFC 6797

Erstellen Sie RFC-6797-konforme HTTP-Strict-Transport-Security-(HSTS)-Header mit max-age-Berechnung, includeSubDomains-Direktive und Chrome-HSTS-Preload-Validierung.

Presets:
Effektive Dauer:2 years (730 days / 63,072,000s)
includeSubDomainsRFC 6797 §6.1.2

Erzwingt HSTS auf allen aktuellen und zukünftigen Subdomains (z.B. *.example.com). Erforderlich für Chrome-Preload.

preloadChromium-Spezifikation

Erteilt die Zustimmung zur Festcodierung im Quellcode von Chrome, Edge, Firefox und Safari. Erfordert max-age >= 31536000 und includeSubDomains.

Server "always"-Flag (Nginx / Apache)Empfohlen

Stellt sicher, dass der Header bei allen HTTP-Antworten gesendet wird, einschließlich 404-, 500- und 502-Fehlerseiten.

# ====================================================================
# Nginx Configuration: Strict-Transport-Security (HSTS)
# Server Block: https://example.com
# ====================================================================
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name example.com *.example.com;

    # SSL Certificate Paths
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    # HSTS Security Header
    # Note: 'always' ensures the header is sent even on 4xx/5xx error responses
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;

    # Recommended Complementary Security Headers
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "DENY" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

# Redirect HTTP (Port 80) to HTTPS (Port 443)
# RFC 6797 §7.2: DO NOT send Strict-Transport-Security over insecure HTTP!
server {
    listen 80;
    listen [::]:80;
    server_name example.com *.example.com;
    return 301 https://$host$request_uri;
}
Aktive Direktiven
3 / 3 Aktiv
Preload-Bereitschaft
100% (Ready)
Gültigkeitsdauer
2 years

100% Client-Side Auswertung

Keine Serverübertragung. Domainnamen und Sicherheitsrichtlinien werden vollständig im Browser verarbeitet.

RFC 6797 & Chrome Preload Standard

Vollständig konform mit IETF RFC 6797 und den offiziellen Einreichungsrichtlinien für die Chromium Preload-Liste.

Multi-Server-Bereitstellung

Erzeugt sofort einsetzbare Konfigurationen für Nginx, Apache, Caddy, Cloudflare, Next.js und HAProxy.

Technische Referenz & Architektur-Leitfaden

HSTS (Strict-Transport-Security) Header-Generator & Preload-Prüfer — Referenz-Leitfaden

Erstellen Sie RFC-6797-konforme HTTP-Strict-Transport-Security-(HSTS)-Header mit max-age-Berechnung, includeSubDomains-Direktive und Chrome-HSTS-Preload-Validierung.

Wichtige Parameter & Steuerelemente

max-ageGanzzahl (Sekunden)

Gibt die Zeitspanne in Sekunden an, für die der Browser ausschließlich verschlüsselte HTTPS-Verbindungen erzwingen und unsichere HTTP-Aufrufe verweigern muss.

Standard: 63072000 (2 Jahre)
includeSubDomainsBoolesches Flag

Wendet die HSTS-Sicherheitsrichtlinie auf alle Subdomains der Domain an und verhindert Downgrade-Angriffe auf bestehende oder künftige Teildienste.

Standard: true
preloadBoolesches Flag

Autorisiert die Aufnahme der Domain in die globale HSTS-Preload-Liste von Chrome, Firefox, Safari und Edge.

Standard: true
Webserver / PlattformEnum (Nginx | Apache | Cloudflare | Caddy | Vercel | IIS)

Konfigurationssyntax des Zielservers bzw. Reverse-Proxys zur Bereitstellung des Strict-Transport-Security-Headers.

Standard: Nginx

Profi-Tipps & Best Practices

Aktivieren Sie niemals direkt max-age

Aktivieren Sie niemals direkt max-age für 2 Jahre mit includeSubDomains. Beginnen Sie mit 5 Minuten (max-age=300), steigern Sie auf 1 Woche (max-age=604800) und stellen Sie sicher, dass alle Subdomains (Mail, Intranet, Testserver) über gültige SSL-Zertifikate verfügen.

Gemäß RFC 6797 Abschnitt 7.2 müssen

Gemäß RFC 6797 Abschnitt 7.2 müssen Webbrowser HSTS-Header ignorieren, die über unverschlüsseltes HTTP empfangen werden. Das Senden von HSTS auf Port 80 verursacht Fehlalarme bei Sicherheitsaudits.

Die Übermittlung an hstspreload.org

Die Übermittlung an hstspreload.org verankert Ihre Domain direkt im Quellcode der großen Browser. Eine Entfernung erfordert Vendor-Updatezyklen, die 2 bis 6 Monate in Anspruch nehmen können.

Häufige Fallstricke & Fehlerbehebung

Subdomains sind nach HSTS-Aktivierung wegen Zertifikatsfehlern nicht mehr erreichbar

Mit includeSubDomains forciert der Browser HTTPS auf allen Subdomains. Richten Sie umgehend ein Wildcard- oder separates TLS-Zertifikat ein, oder liefern Sie vorübergehend 'max-age=0' auf der Hauptdomain aus, um den HSTS-Cache der Clients zu leeren.

Domain wird von hstspreload.org bei der Einreichung abgelehnt

Überprüfen Sie, ob die Hauptdomain ein gültiges Zertifikat besitzt, HTTP-Port 80 sauber auf HTTPS umleitet, der HTTPS-Header max-age >= 31536000 enthält und sowohl includeSubDomains als auch preload deklariert sind.

Häufig gestellte Fragen (FAQ)

Was ist HTTP Strict Transport Security (HSTS) und welche Angriffe wehrt es ab?▼

HSTS ist ein in RFC 6797 definierter Sicherheitsstandard. Er weist den Browser an, alle Anfragen an eine Domain noch vor Verlassen des Endgeräts lokal von 'http://' auf 'https://' umzuschreiben. Dies schützt vor Man-in-the-Middle-Angriffen (MITM) wie SSL-Stripping in öffentlichen Netzwerken und verhindert das Umgehen von Zertifikatswarnungen durch Benutzer.

Welche Kriterien müssen für die Chrome-HSTS-Preload-Liste erfüllt sein?▼

Für die Zulassung auf hstspreload.org muss die Domain: 1) ein gültiges TLS-Zertifikat besitzen, 2) HTTP auf Port 80 zu HTTPS weiterleiten, 3) HTTPS auf allen Subdomains unterstützen, 4) einen HSTS-Header mit einer max-age von mindestens 31536000 Sekunden (1 Jahr) liefern und 5) zwingend 'includeSubDomains' sowie 'preload' enthalten.

Kann eine fehlerhafte HSTS-Konfiguration schnell zurückgenommen werden?▼

Bei Domains, die nicht in der Preload-Liste stehen, reicht das Ausliefern des Headers 'Strict-Transport-Security: max-age=0' über HTTPS aus, um den lokalen Cache beim nächsten Besuch des Nutzers zu löschen. Wurde die Domain jedoch bereits in Browser-Binärdateien fest vorinstalliert, dauert ein Widerruf über hstspreload.org bis zu mehrere Monate.

Warum blockieren Browser bei aktivem HSTS das Überspringen von Zertifikatsfehlern?▼

Bei herkömmlichem HTTPS können Benutzer über Warnmeldungen wie 'Trotzdem fortfahren' fehlerhafte Zertifikate akzeptieren. Unter HSTS verbietet RFC 6797 diesen Bypass strikt und trennt die Verbindung sofort, um Man-in-the-Middle-Angriffe mit gefälschten Zertifikaten vollständig auszuschließen.

Verwandte Werkzeuge & Dienstprogramme

Alle Werkzeuge →