Fluxheim/Dokumentation/Configuration Basics

Configuration Basics

Fluxheim bruger TOML. Ukendte felter afvises, så stavefejl fejler før genstart.

Hovedform

[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"

[[vhosts]]
name = "site"
hosts = ["example.com"]

Ved installationer med flere lejere skal du aktivere [server.host_routing].strict = true, så en manglende eller ugyldig værtsidentitet returnerer 400, og ukendte værter returnerer 421 i stedet for at nå standardwebstedet.

Hvordan config er organiseret

OmrådeHvad hører til der
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobal TLS-backend og compatibility-policy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus og export listeners til driftsindsigt.

Route-form

[[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"]

En route har én matcher og én action. Exact paths vinder først, derefter længste prefixes, derefter regex routes når regex-support er aktiveret, og til sidst én fallback route.

HTTP-svarsikkerhed

HTTP-svarsikkerhedsprofiler er valgfrie. Start med baseline; brug kun krydsoprindelsesisolering efter test af hvert script, skrifttype, billede, login-flow og indlejret ressource.

[headers.response.hardening]
profile = "baseline"
ProfilHvad den gør
offHolder de tilvalgte hærdningshoveder deaktiveret.
baselineTilføjer konservativ browserisolering og ressourcepolitikstandarder, der passer til de fleste websteder.
cross-origin-isolatedMuliggør streng krydsoprindelsesisolering for applikationer, der har testet enhver ekstern afhængighed.

Ingen af profilerne aktiverer HSTS eller CSP. Konfigurer dem separat efter at have testet dem mod det rigtige websted.

Standardbaserede svarmetadata

Svarmetadata er som standard deaktiveret. Aktiver kun de felter, du har brug for; Fluxheim udleder dem fra det faktiske cacheresultat, proxyfejl og endelige svarbytes uden at afsløre cachenøgler, backend-adresser, DNS-navne eller råfejl.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
FeltHvad den rapporterer
Cache-StatusRFC 9211 cache-resultater såsom hit, miss, gammel videresendelse, revalidering, udløb og bypass.
Proxy-StatusRFC 9209 detaljer med lav kardinalitet for fejl genereret af Fluxheim.
Content-DigestRFC 9530 SHA-256 over det endelige HTTP-meddelelsesindhold efter komprimering.
Repr-DigestSHA-256 kun når Fluxheim indeholder den komplette valgte repræsentation.

Live snapshots og rollback

Autentificerede snapshots kan udgive en valideret kandidat, erstatte live-routeren og rulle tilbage uden at genstarte normale routing-only-implementeringer. Hver anmodning forbliver på én routergeneration fra start til slut.

  • Opbevar snapshot-butikken i en dedikeret privat mappe; eksisterende ikke-private mapper og filsystemrødder afvises.
  • Brug en procesopgradering, når baggrundsload-balancer-sundheds- eller opdagelsestjenester er aktive.
  • Kør integritetstjek af øjebliksbilleder efter offentliggørelse eller tilbagerulning, og bekræft, at den valgte generation overlever genstart.
Læs hele snapshot-kontrakten

Sikre vaner

  • Run fluxheim --check-config before reloads.
  • Brug én vhost per site eller applikationsgrænse.
  • Hold secrets i filer, environment eller container secrets, ikke i public docs.
  • Sørg for, at konfigurationsfiler og alle eksisterende overordnede mapper har betroede ejere og ikke kan skrives til af gruppen eller andre brugere.
  • Erstat processen, når indstillinger for TLS, lyttere, streams, UDP, ACME, cacherydning, sporing eller administrerede PHP-FPM-processer ændres; almindelig routing og politik ved forespørgsel kan bruge genindlæsning af et snapshot.
  • Brug route-level limits til uploads og dyre applikationspaths.
  • Hold admin- og metrics-listeners private.
Dansk