Erweiterte Header für Netlify konfigurieren

Schritt-für-Schritt-Anleitung: Origin-Agent-Cluster, X-DNS-Prefetch-Control, HTTPS-Redirects und alle Header in einer konsolidierten netlify.toml.

Netlify · Schritt für Schritt

Erweiterte Header auf Netlify

Erweiterte Security Header ergaenzen die Kern-Header um zusätzliche Schutzmechanismen. Origin-Agent-Cluster isoliert Ihre Origin im Browser-Prozess, X-DNS-Prefetch-Control verhindert DNS-Prefetching für Datenschutz, und X-Permitted-Cross-Domain-Policies kontrolliert Flash/PDF-Zugriffe. Zusammen sind sie 4 von 166 Punkten im Wolf-Agents Web Security Check.

Dieses Kapitel zeigt auch die konsolidierte Konfiguration aller Security Header in einer einzigen netlify.toml. Auf Netlify ist die gesamte Header-Konfiguration versioniert und bei jedem Deploy automatisch angewendet — ein grosser Vorteil gegenüber manueller Server-Konfiguration.

Für dynamische Szenarien (z.B. X-Powered-By entfernen, das vom Framework gesetzt wird) nutzen Sie Edge Functions. Diese laufen in der Deno-Runtime am Edge und können Header vor der Auslieferung manipulieren.

1 Schritt 1 von 3

Erweiterte Header per netlify.toml und _headers

Fügen Sie die erweiterten Header zu Ihrer bestehenden netlify.toml-Konfiguration hinzu. Diese Header verursachen keine Kompatibilitätsprobleme und können bedenkenlos global für alle Pfade gesetzt werden.

netlify.toml Empfohlen
# netlify.toml — Erweiterte Security Header
[[headers]]
  for = "/*"
  [headers.values]
    Origin-Agent-Cluster = "?1"
    X-DNS-Prefetch-Control = "off"
    X-Download-Options = "noopen"
    X-Permitted-Cross-Domain-Policies = "none"
_headers Alternative
# _headers — Erweiterte Security Header
/*
  Origin-Agent-Cluster: ?1
  X-DNS-Prefetch-Control: off
  X-Download-Options: noopen
  X-Permitted-Cross-Domain-Policies: none
netlify/edge-functions/security-headers.ts Deno
// netlify/edge-functions/security-headers.ts
import type { Context } from "https://edge.netlify.com";

export default async (request: Request, context: Context) => {
  const response = await context.next();

  // Erweiterte Header setzen
  response.headers.set("Origin-Agent-Cluster", "?1");
  response.headers.set("X-DNS-Prefetch-Control", "off");
  response.headers.set("X-Download-Options", "noopen");
  response.headers.set("X-Permitted-Cross-Domain-Policies", "none");

  // X-Powered-By entfernen (falls von Framework gesetzt)
  response.headers.delete("X-Powered-By");

  return response;
};

export const config = { path: "/*" };
2 Schritt 2 von 3

Konsolidierte Konfiguration

Hier ist die vollständige Security-Header-Konfiguration für Netlify — alle Header in einem [[headers]]-Block inklusive www-zu-non-www-Redirect. Kopieren Sie diese als Ausgangspunkt und passen Sie CSP und Permissions-Policy an Ihre Anforderungen an.

netlify.toml Komplett
# netlify.toml — Vollständige Security-Konfiguration
# HTTPS-Redirect (Netlify erzwingt HTTPS automatisch)
# www → non-www Redirect für SEO
[[redirects]]
  from = "https://www.ihre-domain.de/*"
  to = "https://ihre-domain.de/:splat"
  status = 301
  force = true

# Alle Security Header in einem Block
[[headers]]
  for = "/*"
  [headers.values]
    Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
    X-Frame-Options = "DENY"
    X-Content-Type-Options = "nosniff"
    Referrer-Policy = "strict-origin-when-cross-origin"
    Permissions-Policy = "camera=(), microphone=(), geolocation=()"
    Cross-Origin-Opener-Policy = "same-origin"
    Cross-Origin-Resource-Policy = "same-origin"
    Origin-Agent-Cluster = "?1"
    X-DNS-Prefetch-Control = "off"
    X-Download-Options = "noopen"
    X-Permitted-Cross-Domain-Policies = "none"
CSP fehlt in dieser Konfiguration

Die Content Security Policy ist hier bewusst ausgelassen, da sie projekt-spezifisch angepasst werden muss. Siehe das CSP-Kapitel für Netlify für eine ausführliche CSP-Konfiguration.

3 Schritt 3 von 3

Alle Header verifizieren

Prüfen Sie die vollständige Header-Konfiguration nach dem Deploy. Der Wolf-Agents Web Security Check testet alle 166 Punkte automatisch und gibt eine Gesamtnote von A+ bis F.

Terminal Verifizieren
# Alle Security Headers auf einmal prüfen
curl -sI https://ihre-domain.de | grep -iE \
  "strict-transport|x-frame|x-content-type|referrer-policy|permissions-policy|origin-agent|x-dns-prefetch|cross-origin|x-download|x-permitted"

# Erwartete Ausgabe (Auszug):
# strict-transport-security: max-age=31536000; includeSubDomains; preload
# x-frame-options: DENY
# x-content-type-options: nosniff
# referrer-policy: strict-origin-when-cross-origin
# origin-agent-cluster: ?1
# x-dns-prefetch-control: off

# X-Powered-By sollte NICHT erscheinen
curl -sI https://ihre-domain.de | grep -i x-powered-by

# Wolf-Agents Web Security Check nutzen:
# https://wolf-agents.com/tools/web-security-check

Häufige Fehler bei erweiterten Headern auf Netlify

X-Powered-By nicht entfernt

Netlify selbst setzt keinen X-Powered-By Header. Wenn Ihr Framework (z.B. Express in Netlify Functions) diesen Header setzt, entfernen Sie ihn per Edge Function oder deaktivieren Sie ihn in der Framework-Konfiguration.

Header-Konflikte durch Doppelkonfiguration

Wenn netlify.toml und _headers denselben Header setzen, gewinnt netlify.toml. Verwenden Sie nicht beide für denselben Header. Edge Functions überschreiben wiederum beide statischen Konfigurationen.

DNS-Prefetching und Performance

X-DNS-Prefetch-Control: off kann die wahrgenommene Ladegeschwindigkeit leicht reduzieren. Für Performance-kritische Seiten können Sie DNS-Prefetching per <link rel="dns-prefetch"> selektiv für vertrauenswuerdige Domains aktivieren.

Netlify-eigene Header nicht entfernbar

Netlify setzt eigene Header wie X-NF-Request-ID und Server: Netlify. Diese können nicht entfernt werden, sind aber sicherheitsunkritisch und dienen der Fehlersuche.

Compliance-Relevanz

Erweiterte Header runden die Sicherheitskonfiguration ab und reduzieren die Angriffsfläche.

NIS2

Fordert umfassende technische Maßnahmen zur Cybersicherheit. Jeder zusätzliche Header reduziert die Angriffsfläche und trägt zur NIS2-Compliance bei.

OWASP Secure Headers

Empfiehlt alle hier genannten Header als Best Practice. Die OWASP Secure Headers Cheat Sheet listet Origin-Agent-Cluster und X-DNS-Prefetch-Control als empfohlene Header.

DSGVO

X-DNS-Prefetch-Control: off verhindert unkontrolliertes DNS-Prefetching und schützt damit die Privatsphäre der Nutzer — ein Beitrag zum technischen Datenschutz.

Wolf-Agents Check

Bewertet die erweiterten Header mit bis zu 4 Punkten und gibt eine Gesamtnote von A+ bis F über alle 166 Prufpunkte hinweg.

Wie steht Ihre Domain bei Erweiterte Header?

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