Fluxheim/Dokumentasjon/Configuration Basics

Configuration Basics

Fluxheim bruker TOML. Ukjente felt avvises, så skrivefeil feiler før restart.

Hovedform

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

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

For flerleietakerinstallasjoner aktiverer du [server.host_routing].strict = true, slik at manglende eller ugyldig vertsidentitet gir 400 og ukjente verter gir 421 i stedet for å nå standardnettstedet.

Hvordan config er organisert

OmrådeHva som hører hjemme der
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobal TLS-backend og kompatibilitetspolicy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus- og eksportlyttere for driftsinnsyn.

Ruteform

[[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 rute har én matcher og én handling. Eksakte stier vinner først, deretter lengste prefikser, deretter regex-ruter når regex-støtte er aktivert, og til slutt én fallback-rute.

HTTP-responssikkerhet

HTTP-responssikkerhetsprofiler er valgfrie. Start med baseline; bruk kryssopprinnelsesisolasjon bare etter å ha testet hvert skript, skrifttype, bilde, påloggingsflyt og innebygd ressurs.

[headers.response.hardening]
profile = "baseline"
ProfilHva den gjør
offHolder de opt-in herdehodene deaktivert.
baselineLegger til konservativ nettleserisolasjon og ressurspolicystandarder som passer for de fleste nettsteder.
cross-origin-isolatedMuliggjør streng kryssopprinnelsesisolasjon for applikasjoner som har testet hver ekstern avhengighet.

Ingen av profilene aktiverer HSTS eller CSP. Konfigurer disse separat etter å ha testet dem mot det virkelige nettstedet.

Standardbasert responsmetadata

Responsmetadata er deaktivert som standard. Aktiver bare feltene du trenger; Fluxheim henter dem fra det faktiske hurtigbufferresultatet, proxy-feil og endelige svarbytes uten å avsløre cache-nøkler, backend-adresser, DNS-navn eller råfeil.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
FeltHva den rapporterer
Cache-StatusRFC 9211 cache-utfall som treff, miss, foreldet videresending, revalidering, utløp og bypass.
Proxy-StatusRFC 9209 detaljer med lav kardinalitet for feil generert av Fluxheim.
Content-DigestRFC 9530 SHA-256 over det endelige innholdet i HTTP etter komprimering.
Repr-DigestSHA-256 bare når Fluxheim har den fullstendige valgte representasjonen.

Live øyeblikksbilder og tilbakerulling

Autentiserte øyeblikksbilder kan publisere en validert kandidat, erstatte live-ruteren og rulle tilbake uten å starte normale distribusjoner som kun er for ruting. Hver forespørsel forblir på én rutergenerasjon fra start til slutt.

  • Hold øyeblikksbildebutikken i en dedikert privat katalog; eksisterende ikke-private kataloger og filsystemrøtter avvises.
  • Bruk en prosessoppgradering når bakgrunnsbelastningsbalanserhelse eller oppdagelsestjenester er aktive.
  • Kjør integritetskontroller for øyeblikksbilder etter publisering eller tilbakeføring og bekreft at den valgte generasjonen overlever omstart.
Les hele øyeblikksbildekontrakten

Trygge vaner

  • Run fluxheim --check-config before reloads.
  • Bruk én vhost per nettsted eller applikasjonsgrense.
  • Hold hemmeligheter i filer, miljø eller container secrets, ikke i offentlig dokumentasjon.
  • Sørg for at konfigurasjonsfiler og alle eksisterende overordnede kataloger har betrodde eiere og ikke kan skrives til av gruppen eller andre brukere.
  • Erstatt prosessen når innstillinger for TLS, lyttere, strømmer, UDP, ACME, tømming av hurtigbuffer, sporing eller administrerte PHP-FPM-prosesser endres; vanlig ruting og policy ved forespørsel kan bruke en ny innlasting av øyeblikksbildet.
  • Bruk rutenivågrenser for opplastinger og kostbare applikasjonsstier.
  • Hold admin- og metrics-lyttere private.
Norsk