Fluxheim/Documentatie/Configuration Basics

Configuration Basics

Fluxheim gebruikt TOML. Onbekende velden worden geweigerd, zodat spelfouten falen voordat je herstart.

Hoofdvorm

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

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

Schakel voor omgevingen met meerdere tenants [server.host_routing].strict = true in, zodat een ontbrekende of ongeldige hostidentiteit 400 retourneert en een onbekende host 421, in plaats van de standaardsite te bereiken.

Hoe config is georganiseerd

GebiedWat daar hoort
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobale TLS-backend en compatibiliteitspolicy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus- en exportlisteners voor operationeel inzicht.

Routevorm

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

Een route heeft één matcher en één actie. Exacte paden winnen eerst, daarna langste prefixes, daarna regex-routes wanneer regex-support aan staat, en daarna één fallback-route.

Beveiliging van HTTP-reacties

HTTP-responsbeveiligingsprofielen zijn optioneel. Begin met baseline; gebruik cross-origin-isolatie alleen na het testen van elk script, lettertype, afbeelding, aanmeldingsstroom en ingesloten bron.

[headers.response.hardening]
profile = "baseline"
ProfielWat het doet
offHoudt de opt-in-verhardingsheaders uitgeschakeld.
baselineVoegt conservatieve browserisolatie en standaardinstellingen voor het resourcebeleid toe die geschikt zijn voor de meeste sites.
cross-origin-isolatedMaakt strikte cross-origin isolatie mogelijk voor applicaties die elke externe afhankelijkheid hebben getest.

Geen van beide profielen maakt HSTS of CSP mogelijk. Configureer deze afzonderlijk nadat u ze op de echte site hebt getest.

Op standaarden gebaseerde antwoordmetadata

Metagegevens van antwoorden zijn standaard uitgeschakeld. Schakel alleen de velden in die u nodig heeft; Fluxheim leidt ze af van het daadwerkelijke cacheresultaat, de proxyfout en de definitieve responsbytes zonder cachesleutels, backend-adressen, DNS-namen of onbewerkte fouten bloot te leggen.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
VeldWat het rapporteert
Cache-StatusRFC 9211 cacheresultaten zoals treffer, misser, verouderde doorsturing, hervalidatie, vervaldatum en bypass.
Proxy-StatusRFC 9209 details met lage kardinaliteit voor fouten gegenereerd door Fluxheim.
Content-DigestRFC 9530 SHA-256 over de uiteindelijke HTTP-berichtinhoud na compressie.
Repr-DigestSHA-256 alleen als Fluxheim de volledige geselecteerde representatie bevat.

Live snapshots en terugdraaien

Geauthenticeerde snapshots kunnen een gevalideerde kandidaat publiceren, de live-router vervangen en terugdraaien zonder de normale routing-only-implementaties opnieuw te starten. Elk verzoek blijft van begin tot eind op één routergeneratie staan.

  • Bewaar de snapshotopslag in een speciale privémap; bestaande niet-privémappen en bestandssysteemroots worden afgewezen.
  • Gebruik een procesupgrade wanneer de status van de load balancer op de achtergrond of detectieservices actief zijn.
  • Voer snapshot-integriteitscontroles uit na publicatie of terugdraaien en controleer of de geselecteerde generatie het opnieuw opstarten overleeft.
Lees het volledige snapshotcontract

Veilige gewoonten

  • Run fluxheim --check-config before reloads.
  • Gebruik één vhost per site of applicatiegrens.
  • Houd secrets in bestanden, environment of container secrets, niet in publieke docs.
  • Zorg dat configuratiebestanden en alle bestaande bovenliggende mappen vertrouwde eigenaren hebben en niet beschrijfbaar zijn door de groep of andere gebruikers.
  • Vervang het proces wanneer instellingen voor TLS, listeners, streams, UDP, ACME, cacheverwijdering, tracing of beheerde PHP-FPM-processen wijzigen; gewone routering en beleid tijdens aanvragen kunnen een snapshot-herlaadactie gebruiken.
  • Gebruik route-level limits voor uploads en dure applicatiepaden.
  • Houd admin- en metrics-listeners privé.
Nederlands