39 lines
1.3 KiB
Caddyfile
39 lines
1.3 KiB
Caddyfile
boday-it.ch {
|
|
# 1. Globale Komprimierung für schnellere Ladezeiten aktivieren
|
|
encode gzip zstd
|
|
|
|
# 2. Statische Dateien (CSS, JS, Bilder) direkt über Caddy ausliefern
|
|
handle_path /static/* {
|
|
root * /code/staticfiles
|
|
file_server
|
|
}
|
|
|
|
# 3. Medien-Dateien (User-Uploads) direkt über Caddy ausliefern
|
|
handle_path /media/* {
|
|
root * /code/mediafiles
|
|
file_server
|
|
}
|
|
|
|
# 4. Alle anderen Anfragen direkt an den Django-Gunicorn-Container weiterleiten
|
|
handle {
|
|
reverse_proxy web:8000
|
|
}
|
|
|
|
# 5. Sicherheits-Header setzen (Optional, aber dringend empfohlen)
|
|
header {
|
|
# Verhindert, dass die Seite in einem fremden Frame geladen wird (Schutz vor Clickjacking)
|
|
#X-Frame-Options "DENY"
|
|
X-Frame-Options "SAMEORIGIN"
|
|
# Aktiviert den Cross-Site-Scripting-Schutz im Browser
|
|
X-XSS-Protection "1; mode=block"
|
|
# Verhindert das automatische Erraten des Inhaltstyps (MIME-Sniffing)
|
|
X-Content-Type-Options "nosniff"
|
|
# Strict-Transport-Security (HSTS) - Erzwingt HTTPS im Browser für 1 Jahr
|
|
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
|
|
}
|
|
}
|
|
|
|
# 2. Die www-Subdomain (Automatische Zertifizierung + Weiterleitung)
|
|
www.boday-it.ch {
|
|
redir https://boday-it.ch{uri} permanent
|
|
}
|