security.txt für Nginx einrichten

security.txt auf Nginx bereitstellen: location-Block für /.well-known/, alias-Direktive für den Dateipfad und default_type text/plain für den korrekten Content-Type.

Nginx · Schritt für Schritt

security.txt auf Nginx

Nginx liefert statische Dateien nativ aus dem konfigurierten Webroot aus — ideal für die security.txt nach RFC 9116. Mit einem dedizierten location-Block für /.well-known/security.txt und der alias-Direktive steuern Sie exakt, welche Datei unter welchem Pfad ausgeliefert wird. Das always-Keyword ist hier nicht nötig, da security.txt eine statische Datei ist.

Die Konfiguration besteht aus einem location-Block für /.well-known/, einer alias-Direktive für den Dateipfad und default_type text/plain für den korrekten Content-Type. In drei Schritten ist Ihre security.txt einsatzbereit. Der Wolf-Agents Web Security Check prüft security.txt automatisch als Teil der 166 Prüfpunkte — scannen Sie Ihre Domain, um die Erreichbarkeit zu verifizieren.

1 Schritt 1 von 3

Verzeichnis und Datei erstellen

Legen Sie das .well-known-Verzeichnis im Webroot an und erstellen Sie die security.txt mit den Pflichtfeldern Contact und Expires.

Terminal Bash
mkdir -p /var/www/html/.well-known
/var/www/html/.well-known/security.txt
Contact: mailto:security@ihre-domain.de
Expires: 2027-01-31T23:59:59.000Z
Preferred-Languages: de, en
Canonical: https://ihre-domain.de/.well-known/security.txt
Expires-Datum

Das Expires-Feld ist Pflicht und sollte maximal 1 Jahr in der Zukunft liegen. Planen Sie eine halbjährliche Aktualisierung ein.

2 Schritt 2 von 3

Nginx-Konfiguration anpassen

Fügen Sie in Ihrem server-Block einen allgemeinen location-Block für /.well-known/ und einen spezifischen Block für die security.txt hinzu. Die alias-Direktive sorgt dafür, dass der Dateipfad korrekt aufgelöst wird.

/etc/nginx/sites-available/ihre-domain.conf Nginx
server {
    # Erlaube Zugriff auf .well-known
    location /.well-known/ {
        allow all;
        default_type text/plain;
    }

    # Spezifisch für security.txt
    location = /.well-known/security.txt {
        alias /var/www/html/.well-known/security.txt;
        default_type text/plain;
        charset utf-8;
    }
}
Warum alias statt root?

Bei root hängt Nginx den location-Pfad an den root-Pfad an. Mit alias wird der exakte Dateipfad verwendet — das vermeidet Probleme, wenn Ihr Webroot nicht dem erwarteten Pfad entspricht.

3 Schritt 3 von 3

Konfiguration testen und aktivieren

Prüfen Sie die Nginx-Syntax und laden Sie die Konfiguration neu. Anschließend können Sie die security.txt per curl verifizieren.

Terminal
# Syntax prüfen und Konfiguration neu laden
sudo nginx -t && sudo systemctl reload nginx

# Ergebnis prüfen
curl -I https://ihre-domain.de/.well-known/security.txt
curl https://ihre-domain.de/.well-known/security.txt
Der Status-Code sollte 200 OK sein und der Content-Type text/plain; charset=utf-8. Prüfen Sie auch, ob Contact und Expires im Body stehen.

Wie steht Ihre Domain bei security.txt?

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

Häufig gestellte Fragen

Muss ich ein separates Nginx-Modul für security.txt installieren?

Nein. Nginx liefert statische Dateien nativ über location-Blöcke und die alias-Direktive aus. Es sind keine zusätzlichen Module nötig.

Was bewirkt die alias-Direktive im Vergleich zu root?

Mit alias wird der angegebene Pfad direkt als Dateipfad verwendet, ohne den location-Pfad anzuhängen. Bei root würde Nginx den location-Pfad an den root-Pfad anhängen, was zu einem falschen Dateipfad führen kann.

Muss ich den Content-Type manuell setzen?

Mit default_type text/plain und charset utf-8 stellen Sie sicher, dass die Datei korrekt als text/plain; charset=utf-8 ausgeliefert wird — auch wenn die MIME-Type-Erkennung fehlschlägt.