HSTS für Vercel konfigurieren

Schritt-für-Schritt-Anleitung: HTTP Strict Transport Security auf Vercel einrichten, Preload beantragen und Preview Deployments sicher handhaben.

Vercel · Schritt für Schritt

HSTS auf Vercel

HTTP Strict Transport Security (HSTS) weist Browser an, ausschließlich verschlüsselte HTTPS-Verbindungen zu verwenden. HSTS ist mit 15 von 166 Punkten ein wichtiger Faktor im Wolf-Agents Web Security Check. Vercel erzwingt HTTPS automatisch für alle Deployments — der HSTS-Header muss dennoch manuell gesetzt werden.

Obwohl Vercel HTTPS erzwingt, fehlt ohne expliziten HSTS-Header der Schutz vor SSL-Stripping-Angriffen beim ersten Besuch. Erst mit dem HSTS-Header und Preload-Registrierung ist Ihre Domain auch beim allerersten Aufruf geschützt — der Browser verbindet sich dann nie unverschlüsselt.

1 Schritt 1 von 3

HSTS-Header per vercel.json setzen

Der einfachste Weg: Fügen Sie den HSTS-Header in die vercel.json im Projekt-Root ein. Das Source-Pattern /(.*) wendet den Header auf alle Responses an. Alternativ können Sie HSTS auch per Edge Middleware setzen, wenn Sie bereits eine middleware.ts verwenden.

vercel.json Produktiv
// vercel.json — HSTS mit Preload
{
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=31536000; includeSubDomains; preload"
        }
      ]
    }
  ]
}
middleware.ts (Alternative) Edge
// middleware.ts — HSTS per Edge Middleware
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  const response = NextResponse.next();
  response.headers.set(
    'Strict-Transport-Security',
    'max-age=31536000; includeSubDomains; preload'
  );
  return response;
}
vercel.json genügt

HSTS ist ein statischer Header — Edge Middleware bietet hier keinen Vorteil. Nutzen Sie vercel.json für HSTS und reservieren Sie die Middleware für dynamische Header wie CSP-Nonces.

2 Schritt 2 von 3

Preview Deployments berücksichtigen

Vercel erstellt für jeden Commit ein Preview Deployment unter einer eigenen Subdomain (z.B. projekt-abc123.vercel.app). HSTS mit includeSubDomains betrifft alle Subdomains — auch Preview URLs. Stellen Sie sicher, dass alle Ihre Subdomains HTTPS unterstützen, bevor Sie Preload beantragen.

HSTS Preload ist quasi-permanent. Die Entfernung aus der Preload-Liste dauert Monate. Vercel Preview Deployments verwenden vercel.app-Subdomains — Ihr HSTS-Header gilt nur für Ihre Custom Domain, nicht für die vercel.app-Domain. Prüfen Sie trotzdem alle eigenen Subdomains.
3 Schritt 3 von 3

Verifizieren und Preload beantragen

Nach dem Deployment prüfen Sie den HSTS-Header mit curl oder dem Wolf-Agents Web Security Check. Wenn der Header korrekt gesetzt ist, können Sie Ihre Domain bei hstspreload.org registrieren. Vercel CDN-Cache kann dazu führen, dass Änderungen erst nach dem nächsten Deployment sichtbar sind.

Terminal Verifizieren
# HSTS-Header nach Deployment prüfen
curl -sI https://ihre-domain.de | grep -i strict-transport

# Erwartete Ausgabe:
strict-transport-security: max-age=31536000; includeSubDomains; preload

# Preload-Eignung prüfen
# https://hstspreload.org/?domain=ihre-domain.de

Häufige Fehler

Preload ohne Subdomain-Prüfung

HSTS Preload mit includeSubDomains betrifft alle Subdomains. Prüfen Sie vor der Registrierung, dass alle Subdomains HTTPS unterstützen — auch solche, die nicht auf Vercel laufen.

Framework-Config überschreibt vercel.json

Wenn next.config.ts ebenfalls HSTS setzt, hat die Framework-Konfiguration Vorrang. Der Wert aus vercel.json wird ignoriert. Definieren Sie HSTS an genau einem Ort.

CDN-Cache verzögert Header-Änderungen

Vercels Edge Network cached Responses. Nach einer Änderung in vercel.json sehen Sie den neuen HSTS-Header erst nach einem neuen Deployment oder Cache-Invalidierung.

Compliance-Relevanz

HSTS ist eine Grundvoraussetzung für sichere Websites. PCI DSS fordert die ausschließliche Nutzung starker Kryptografie — HSTS stellt sicher, dass keine unverschlüsselten Verbindungen möglich sind. NIS2 verlangt Verschlüsselung für Daten in Transit. Der Wolf-Agents Web Security Check prüft HSTS inklusive Preload-Status und max-age-Wert.

Wie steht Ihre Domain bei HSTS?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.