Fluxheim/Dokument/Configuration Basics

Configuration Basics

Fluxheim använder TOML. Okända fält avvisas, så stavfel stoppas före omstart.

Grundstruktur

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

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

Aktivera [server.host_routing].strict = true för installationer med flera kunder, så att en saknad eller ogiltig värdidentitet ger 400 och okända värdar ger 421 i stället för att nå standardwebbplatsen.

Hur konfigurationen är organiserad

OmrådeVad som hör hemma där
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobal TLS-backend och kompatibilitetspolicy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus- och exportlisteners för operativ synlighet.

Ruttform

[[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 rutt har en matchare och en åtgärd. Exakta sökvägar vinner först, sedan längsta prefix, sedan regex-rutter när regex är aktiverat, och sedan en fallback-rutt.

HTTP-svarssäkerhet

HTTP-svarssäkerhetsprofiler är valfria. Börja med baseline; använd korsoriginisolering endast efter att ha testat varje skript, teckensnitt, bild, inloggningsflöde och inbäddad resurs.

[headers.response.hardening]
profile = "baseline"
ProfilVad den gör
offHåller de opt-in-härdningshuvuden inaktiverade.
baselineLägger till konservativ webbläsarisolering och resurspolicystandarder som är lämpliga för de flesta webbplatser.
cross-origin-isolatedMöjliggör strikt kors-ursprungsisolering för applikationer som har testat alla externa beroenden.

Ingen av profilerna aktiverar HSTS eller CSP. Konfigurera dem separat efter att ha testat dem mot den verkliga webbplatsen.

Standardbaserad responsmetadata

Svarsmetadata är inaktiverat som standard. Aktivera endast de fält du behöver; Fluxheim härleder dem från det faktiska cacheresultatet, proxyfel och slutliga svarsbytes utan att exponera cache-nycklar, backend-adresser, DNS-namn eller råfel.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
FältVad den rapporterar
Cache-StatusRFC 9211 cacheresultat som träff, miss, inaktuell vidarebefordran, förlängning, utgång och bypass.
Proxy-StatusRFC 9209 detaljer med låg kardinalitet för fel som genereras av Fluxheim.
Content-DigestRFC 9530 SHA-256 över det slutliga innehållet i HTTP efter komprimering.
Repr-DigestSHA-256 endast när Fluxheim innehåller den fullständiga valda representationen.

Live ögonblicksbilder och rollback

Autentiserade ögonblicksbilder kan publicera en validerad kandidat, ersätta liveroutern och rulla tillbaka utan att starta om normala distributioner av enbart routing. Varje begäran stannar på en routergeneration från början till slut.

  • Håll ögonblicksbildsbutiken i en dedikerad privat katalog; befintliga icke-privata kataloger och filsystemrötter avvisas.
  • Använd en processuppgradering när belastningsbalanserarens hälsa eller upptäcktstjänster är aktiva.
  • Kör integritetskontroller för ögonblicksbilder efter publicering eller återställning och verifiera att den valda generationen överlever omstart.
Läs hela ögonblicksbildskontraktet

Säkra vanor

  • Run fluxheim --check-config before reloads.
  • Använd en vhost per webbplats eller applikationsgräns.
  • Förvara secrets i filer, miljön eller container-secrets, inte i publik dokumentation.
  • Se till att konfigurationsfiler och alla befintliga överordnade kataloger har betrodda ägare och inte är skrivbara för gruppen eller andra användare.
  • Ersätt processen när inställningar för TLS, lyssnare, strömmar, UDP, ACME, cacherensning, spårning eller hanterade PHP-FPM-processer ändras; vanlig routning och policy vid begäran kan använda en omladdning av ögonblicksbilden.
  • Använd ruttgränser för uppladdningar och dyra applikationssökvägar.
  • Håll admin- och metrics-listeners privata.
Svenska