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
| Gebied | Wat daar hoort |
|---|---|
server | Listeners, global limits, trusted proxy handling, and redirects. |
tls | Globale TLS-backend en compatibiliteitspolicy. |
cache | Process-wide cache defaults and storage tiers. |
vhosts | Hostnames, routes, web roots, proxy settings, PHP, TLS, and access policy. |
metrics | Prometheus- 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"
| Profiel | Wat het doet |
|---|---|
off | Houdt de opt-in-verhardingsheaders uitgeschakeld. |
baseline | Voegt conservatieve browserisolatie en standaardinstellingen voor het resourcebeleid toe die geschikt zijn voor de meeste sites. |
cross-origin-isolated | Maakt 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
| Veld | Wat het rapporteert |
|---|---|
Cache-Status | RFC 9211 cacheresultaten zoals treffer, misser, verouderde doorsturing, hervalidatie, vervaldatum en bypass. |
Proxy-Status | RFC 9209 details met lage kardinaliteit voor fouten gegenereerd door Fluxheim. |
Content-Digest | RFC 9530 SHA-256 over de uiteindelijke HTTP-berichtinhoud na compressie. |
Repr-Digest | SHA-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.
Veilige gewoonten
- Run
fluxheim --check-configbefore 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é.