Fluxheim/Doku/Configuration Basics

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

BereichWos dort higheart
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobale TLS-Backend- und Kompatibilitätspolitik.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus- 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"
ProfilWos es macht
offLasst de optionalen Hardening-Header ausgeschaltet.
baselineFüagt vorsichtige Browser-Isolierung und Ressourcenrichtlinien dazu, de fia de meistn Seitn passn.
cross-origin-isolatedSchaltet 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
FeldWos des meldt
Cache-StatusCache-Ergebnisse nach RFC 9211 wia Treffer, Fehlschlag, Weitergabe vo veraltete Daten, Revalidierung, Ablauf und Umgehung.
Proxy-StatusNiedrig-kardinale Details nach RFC 9209 fia Fehler, de Fluxheim erzeugt.
Content-DigestRFC 9530 SHA-256 übern endgültigen HTTP-Nachrichteninhalt nach da Komprimierung.
Repr-DigestSHA-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.
De vollständigen Snapshot-Vorgaben lesn

Sichere Gewohnheiten

  • Run fluxheim --check-config before 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.
Boarisch