Configuration Basics
Fluxheim usa TOML. 'E campi sconosciuti veneno rifiutati, quindi 'e errori 'e battitura falliscono primma d'o riavvio.
Forma principale
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
Pe deployment multi-tenant, attiva [server.host_routing].strict = true, accussì n’identità host mancante o nun valida torna 400 e ll’host scanusciute tornano 421 invece ’e arrivà ô sito predefinito.
Comme è organizzato 'o config
| Sezione | Cosa appartiene lì |
|---|---|
server | Listeners, global limits, trusted proxy handling, and redirects. |
tls | Backend TLS globale e policy compatibilità. |
cache | Process-wide cache defaults and storage tiers. |
vhosts | Hostnames, routes, web roots, proxy settings, PHP, TLS, and access policy. |
metrics | Prometheus e listener export pe visibilità operativa. |
Forma d'a route
[[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"]
Na route ha nu matcher e un'azione. 'E path esatti vincono primma, poi 'e prefissi cchiù lunghi, poi route regex quanno 'o supporto regex è abilitato, infine na route fallback.
Sicurezza d''a risposta HTTP
'E profile 'e sicurezza d''a risposta HTTP so' opzionale. Accumincia cu baseline; usa ll'isolamento cross-origin sulo doppo avé testato ogne script, font, immagine, flusso 'e accesso e risorsa incorporata.
[headers.response.hardening]
profile = "baseline"
| Profilo | Chello ca fa |
|---|---|
off | Lassa disattivate ll'header opzionale 'e hardening. |
baseline | Aggiogne isolamento prudente d''o browser e valore predefinite d''e policy d''e risorse adatte â maggior parte d''e site. |
cross-origin-isolated | Abilita isolamento cross-origin stritto pe' ll'applicazione ca hanno testato tutte 'e dipendenze esterne. |
Nisciuno d''e due profile abilita HSTS o CSP. Configurale a parte doppo avéle testate ncopp''o sito overo.
Metadate d''a risposta basate ncopp''e standard
'E metadate d''a risposta songo disattivate pe default. Attiva sulamente 'e campe ca te servono; Fluxheim 'e ricava d''o risultato vero d''a cache, d''o guasto d''o proxy e d''e byte finale d''a risposta, senza fa vedé chiave d''a cache, indirizze d''o backend, nomme DNS o errore grezze.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Campo | Che segnala |
|---|---|
Cache-Status | Risultate d''a cache RFC 9211 comme hit, miss, inoltro stantio, rivalidazione, scadenza e bypass. |
Proxy-Status | Dettaglie a bassa cardinalità RFC 9209 pe guaste generate da Fluxheim. |
Content-Digest | RFC 9530 SHA-256 ncopp''o contenuto finale d''o messaggio HTTP doppo 'a compressione. |
Repr-Digest | SHA-256 sulamente quanno Fluxheim tene 'a rappresentazione scelta completa. |
Snapshot live e rollback
'E snapshot autenticate ponno pubblicà nu candidato validato, cagnà 'o router attivo e fa rollback senza riavvià 'e normali installazione sulamente 'e routing. Ogne richiesta resta ncopp''a stessa generazione d''o router d''o principio â fine.
- Tene 'o deposito d''e snapshot dint''a na cartella privata dedicata; 'e cartelle esistente nun private e 'e radice d''o filesystem veneno rifiutate.
- Usa n'aggiornamento d''o processo quanno songo attive 'e servizie 'n sottofondo pe 'a salute o 'a scoperta d''o load balancer.
- Fa 'e cuntrolle d''integrità d''e snapshot doppo 'a pubblicazione o 'o rollback e verifica ca 'a generazione scelta resta doppo 'o riavvio.
Abitudini sicure
- Run
fluxheim --check-configbefore reloads. - Usa nu vhost pe sito o pe boundary applicativo.
- Tieni 'e segreti in file, environment o secret container, nun dint' 'a ducumentazione pubblica.
- ’E file ’e configurazione e tutte ’e directory superiore esistente hann’ ’a restà sott’ a na proprietà affidabile e nun hann’ ’a essere scrivibile d’ ’o gruppo o d’ ati utenti.
- Cagna ’o processo quanno cagnano TLS, listener, stream, UDP, ACME, pulizia d’ ’a cache, tracing o impostazioni d’ ’o processo PHP-FPM gestito; ’o routing normale e ’e policy durante ’a richiesta ponno usà nu snapshot reload.
- Usa limiti a livello route pe upload e path applicativi costosi.
- Mantieni privati 'e listener admin e metrics.