HSTS für Astro konfigurieren

Schritt-für-Schritt-Anleitung: HTTP Strict Transport Security in Astro per Middleware oder Hosting-Konfiguration einrichten und Preload beantragen.

Astro · Schritt für Schritt

HSTS in Astro

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. In Astro setzen Sie den Header per Middleware (SSR) oder auf dem Webserver bzw. der Hosting-Plattform (SSG).

Im SSR-Modus genuegt eine Zeile in src/middleware.ts. Im SSG-Modus konfigurieren Sie HSTS auf Nginx, Vercel oder Netlify. Wolf-Agents setzt HSTS produktiv per Astro-Middleware mit max-age=31536000, includeSubDomains und preload.

1 Schritt 1 von 3

HSTS-Header konfigurieren

Waehlen Sie die passende Methode für Ihren Output-Modus: Die Middleware setzt HSTS dynamisch bei jedem Request (SSR/Hybrid). Für SSG nutzen Sie die Hosting-Konfiguration.

src/middleware.ts SSR
// src/middleware.ts -- HSTS per Middleware (SSR)
import { defineMiddleware } from 'astro:middleware';

export const onRequest = defineMiddleware(async (context, next) => {
  const response = await next();

  response.headers.set(
    'Strict-Transport-Security',
    'max-age=31536000; includeSubDomains; preload'
  );

  return response;
});
nginx.conf SSG
# Nginx -- HSTS für SSG-Deployments
server {
    listen 443 ssl http2;
    server_name ihre-domain.de;

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

    location / {
        root /var/www/astro-site/dist;
        try_files $uri $uri/index.html =404;
    }
}

# HTTP-zu-HTTPS-Redirect
server {
    listen 80;
    server_name ihre-domain.de;
    return 301 https://$host$request_uri;
}
2 Schritt 2 von 3

Hosting-Plattform-Varianten

Wenn Sie Astro auf einer Hosting-Plattform deployen, konfigurieren Sie HSTS über die plattformspezifische Header-Konfiguration. Diese Header gelten für alle Seiten -- unabhängig davon, ob sie statisch oder dynamisch gerendert werden.

vercel.json Vercel
// vercel.json -- HSTS für Vercel
{
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        {
          "key": "Strict-Transport-Security",
          "value": "max-age=31536000; includeSubDomains; preload"
        }
      ]
    }
  ]
}
public/_headers Netlify
# public/_headers -- HSTS für Netlify
/*
  Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
3 Schritt 3 von 3

Verifizieren und Preload beantragen

Erstellen Sie einen Production-Build und prüfen Sie den HSTS-Header. Anschliessend registrieren Sie Ihre Domain bei hstspreload.org für die HSTS Preload List -- damit erzwingen Browser HTTPS bereits beim ersten Besuch.

Terminal Verifizieren
# Production-Build und HSTS prüfen
npm run build && node dist/server/entry.mjs

curl -sI https://ihre-domain.de | grep -i strict-transport

# Erwartete Ausgabe:
# Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

# Preload-Status prüfen:
# https://hstspreload.org/?domain=ihre-domain.de
Die Preload-List ist schwer rückgängig zu machen. Stellen Sie sicher, dass HTTPS auf allen Subdomains funktioniert, bevor Sie preload beantragen.

Häufige Fehler bei HSTS in Astro

HSTS auf HTTP statt HTTPS

HSTS darf nur über HTTPS gesendet werden. Browser ignorieren den Header auf HTTP-Verbindungen. Konfigurieren Sie einen HTTP-zu-HTTPS-Redirect vor dem HSTS-Header.

prerender=true verliert Middleware-HSTS

Prerenderte Seiten im Hybrid-Modus erhalten keinen Middleware-HSTS-Header. Setzen Sie HSTS zusätzlich auf dem Webserver, um alle Seiten abzudecken.

max-age zu niedrig

Ein max-age unter 31536000 (1 Jahr) reicht nicht für die Preload List. Der Wolf-Agents Web Security Check gibt bei weniger als 1 Jahr Abzuege.

includeSubDomains vergessen

Ohne includeSubDomains schützt HSTS nur die Hauptdomain. Subdomains wie api.ihre-domain.de bleiben über HTTP erreichbar -- ein Sicherheitsrisiko.

Compliance-Relevanz

HSTS ist eine Grundanforderung für NIS2-konforme Webauftritte und wird von PCI DSS 4.0 als Teil der Transport-Layer-Sicherheit erwartet. Der Wolf-Agents Web Security Check bewertet HSTS mit bis zu 15 Punkten -- inklusive Preload-Status, max-age-Bewertung und includeSubDomains-Prüfung.

Wie steht Ihre Domain bei HSTS?

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