Betrieb mit nginx
Auf Apache und LiteSpeed kümmern sich die mitgelieferten Dateien .htaccess um den Schutz sensibler Ordner, um sprechende Adressen und um den Cache statischer Dateien. Nginx liest sie nicht. Ohne eigene Regeln ließen sich von der Website Dateien herunterladen, die nicht öffentlich sein sollen – config.php mit dem Passwort zur Datenbank, der Ordner storage/ mit den Sicherungen.
Was die Konfiguration sicherstellen muss
- Kein Zugriff auf
config.php, auf die Ordnersystem/,storage/,tools/,docs/, auf versteckte Dateien (.git,.htaccess) und auf.php-Dateien innerhalb vonlayout/. - Im Ordner
media/wird nichts ausgeführt. Dateien.php,.html,.svgund.jswerden von dort gar nicht ausgeliefert, Dokumente werden zum Herunterladen angeboten. - Sprechende Adressen: Was keine Datei ist, bedient
index.php(try_files $uri $uri/ /index.php?$query_string;). - PHP wird nur aus drei Dateien ausgeführt:
index.php,admin.php,install.php. Alle anderen.phpliefern 404. - Der Header
Authorizationwird an PHP weitergegeben – ihn brauchen die Verbindung mit Claude (MCP) und die API. - WebP: Ein Browser, der das Format unterstützt, erhält statt
foto.jpgdie Dateifoto.jpg.webp, sofern sie existiert. Das erfordert die Map$webp_priponaim Blockhttp. - Das Upload-Limit
client_max_body_sizeist aufupload_max_filesizein PHP abgestimmt.
Kontrolle nach dem Einsatz
Diese Adressen müssen 403 oder 404 liefern, niemals den Inhalt der Datei:
https://www.example.de/config.php
https://www.example.de/system/sql/schema.sql
https://www.example.de/storage/log/chyby.log
https://www.example.de/.htaccess
Gehen Sie danach Einstellungen → Systemstatus durch und versuchen Sie, ein Bild hochzuladen, einen Artikel mit sprechender Adresse zu öffnen und sich in der Administration anzumelden.