Configuration Basics
Fluxheim nutzt TOML. Unbekannte Felder werdn abglehnt, damit Tippfehler vor am Neustart auffoin.
Grundstruktur
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
Bei Multi-Tenant-Installationen [server.host_routing].strict = true einschalten, damit a fehlende oder ungültige Host-Identität 400 und unbekannte Hosts 421 zruckgeben, statt de Standard-Site zu erreichen.
Wia d Konfiguration organisiert is
| Bereich | Wos dort higheart |
|---|---|
server | Listeners, global limits, trusted proxy handling, and redirects. |
tls | Globale TLS-Backend- und Kompatibilitätspolitik. |
cache | Process-wide cache defaults and storage tiers. |
vhosts | Hostnames, routes, web roots, proxy settings, PHP, TLS, and access policy. |
metrics | Prometheus- und Export-Listener für operative Sichtbarkeit. |
Routenform
[[vhosts.routes]]
name = "app"
path_prefix = "/app/"
methods = ["GET", "HEAD", "POST"]
max_request_body_bytes = "16MiB"
[vhosts.routes.proxy]
upstreams = ["127.0.0.1:3000"]
A Route hod an Matcher und a Aktion. Exakte Pfade gwinna zuerst, dann längste Prefixe, dann Regex-Routen wenn Regex aktiv is, dann a Fallback-Route.
HTTP-Antwortsicherheit
HTTP-Antwortsicherheitsprofile san optional. Fang mit baseline o; Cross-Origin-Isolierung erst nutzn, wenn alle Skripte, Schriftartn, Bilder, Anmeldeabläufe und eingebetteten Ressourcn getestet san.
[headers.response.hardening]
profile = "baseline"
| Profil | Wos es macht |
|---|---|
off | Lasst de optionalen Hardening-Header ausgeschaltet. |
baseline | Füagt vorsichtige Browser-Isolierung und Ressourcenrichtlinien dazu, de fia de meistn Seitn passn. |
cross-origin-isolated | Schaltet strenge Cross-Origin-Isolierung fia Anwendungen ei, bei denen alle externen Abhängigkeiten getestet san. |
Koans vo de Profile schaltet HSTS oder CSP ei. Konfigurier des getrennt, nachdem s an da echten Seitn getestet worn is.
Standardbasierte Antwortmetadaten
Antwortmetadaten san standardmäßig ausgschaltn. Schalt bloß de Felder ei, de wirklich brauchst; Fluxheim leitet s ausm tatsächlichen Cache-Ergebnis, am Proxy-Fehler und de endgültigen Antwortbytes ab, ohne Cache-Schlüssel, Backend-Adressen, DNS-Namen oder rohe Fehler offenzulegen.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Feld | Wos des meldt |
|---|---|
Cache-Status | Cache-Ergebnisse nach RFC 9211 wia Treffer, Fehlschlag, Weitergabe vo veraltete Daten, Revalidierung, Ablauf und Umgehung. |
Proxy-Status | Niedrig-kardinale Details nach RFC 9209 fia Fehler, de Fluxheim erzeugt. |
Content-Digest | RFC 9530 SHA-256 übern endgültigen HTTP-Nachrichteninhalt nach da Komprimierung. |
Repr-Digest | SHA-256 bloß dann, wenn Fluxheim de vollständig ausgewählte Darstellung hält. |
Live-Snapshots und Zurückrolln
Authentifizierte Snapshots kenna an geprüften Kandidaten veröffentlichen, den aktiven Router austauschen und zurückrolln, ohne normale reine Routing-Bereitstellungen neu zum starten. Jede Anfrage bleibt vom Anfang bis zum End auf oana Router-Generation.
- Bewahr den Snapshot-Speicher in am eigenen privaten Verzeichnis auf; bestehende ned-private Verzeichnisse und Dateisystemwurzeln werdn abglehnt.
- Nimm a Prozess-Upgrade, wenn im Hintergrund Load-Balancer-Gsundheits- oder Erkennungsdienste aktiv san.
- Lass nach Veröffentlichung oder Rollback d Snapshot-Integrität prüfen und kontrollier, dass de ausgewählte Generation an Neustart übersteht.
Sichere Gewohnheiten
- Run
fluxheim --check-configbefore reloads. - Nutz an Vhost pro Site oder Anwendungsgrenz.
- Bewahr Secrets in Dateien, Umgebung oder Container-Secrets auf, ned in öffentlicher Doku.
- Konfigurationsdateien und alle vorhandenen übergeordneten Verzeichnisse unter vertrauenswürdiger Eigentümerschaft halten und für Gruppen oder andere Benutzer ned schreibbar machen.
- Den Prozess ersetzen, wenn TLS, Listener, Streams, UDP, ACME, Cache-Bereinigung, Tracing oder verwaltete PHP-FPM-Prozesseinstellungen geändert werden; gewöhnliches Routing und Richtlinien zur Anfragezeit können an Snapshot-Reload verwenden.
- Nutz Routenlimits für Uploads und teure Anwendungspfade.
- Hoib Admin- und Metrik-Listener privat.