diff --git a/deploy/caddy/Caddyfile.example b/deploy/caddy/Caddyfile.example index bbca7f6..4ff93f1 100644 --- a/deploy/caddy/Caddyfile.example +++ b/deploy/caddy/Caddyfile.example @@ -93,6 +93,28 @@ status.example.com { reverse_proxy 127.0.0.1:8080 } +# ── Dateien zum Herunterladen ──────────────────────────────────────────────── +# FILES_HOST aus der .env. Zwei Dinge liegen hier, und beide müssen von überall +# erreichbar sein: +# +# - Rechtsdokumente (AGB, AV, TOM). Ihre Adressen stehen in Verträgen und auf +# Rechnungen und müssen Jahre halten. +# - Das Bootstrap-Archiv für die Host-Übernahme. Es wird von einem Server im +# RETTUNGSSYSTEM geholt — einer Maschine ohne Tunnel, mit einer öffentlichen +# Adresse, die in keiner Freigabeliste steht. Genau deshalb steht hier KEIN +# `import clupilot-console-allow.conf`: die Sperre der Konsole wäre hier die +# Sperre gegen den einzigen, der es braucht. +# +# Der Schutz sitzt in der Anwendung, nicht im Proxy: ohne gültigen Einmal-Code +# antwortet das Archiv mit 404, und die Dokumente sind ohnehin öffentlich. +# +# Auch KEIN `http://… { abort }` wie bei admin und ws weiter unten. Dieser Name +# soll bekannt sein — und ein abgewürgtes Port 80 nimmt der ACME-Prüfung den +# Weg, wenn Caddys eigener Handler einmal nicht als Erster drankommt. +files.example.com { + reverse_proxy 127.0.0.1:8080 +} + # Plain HTTP for the two hidden names. Without this Caddy answers port 80 with # an automatic redirect to https, which announces that both hostnames are # served here — the one thing this file exists to avoid. The ACME challenge is