Configuration Basics
Fluxheim usa TOML. I campi sconosciuti i vien refudà, quindi i errori de battitura falliscono prima del riavvio.
Forma principale
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
Par deployment multi-tenant, ativa [server.host_routing].strict = true, cussì na identità host mancante o no valida la torna 400 e i host sconossùi i torna 421 invesse de rivar al sito predefinìo.
Come xe organizzato el 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 par visibilità operativa. |
Forma de ł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"]
Una route ha un matcher e un'azione. I path esatti vincono prima, poi i prefissi più lunghi, poi route regex coando el supporto regex xe abiłità, infine na route fallback.
Sicurezza de ła risposta HTTP
I profili de sicurezza de ła risposta HTTP i xe opzionałi. Scominsia co baseline; dòpara isolamento cross-origin soło dopo ver testà ogni script, font, imàzene, flusso de acesso e risorsa incorporà.
[headers.response.hardening]
profile = "baseline"
| Profilo | Cossa che el fa |
|---|---|
off | El lassa disativà i header opzionałi de hardening. |
baseline | El zonta isolamento prudente del browser e vałori predefinìi de policy de łe risorse adati a ła magior parte dei siti. |
cross-origin-isolated | El abilita isolamento cross-origin streto par łe aplicazion che łe ga testà tute łe dipendenze esterne. |
Nisun profilo el abilita HSTS o CSP. Configurałi separatamente dopo averli testà sul sito vero.
Metadati de risposta basài sui standard
I metadati de ła risposta i xe disativài par default. Ativa soło i campi che te serve; Fluxheim li deriva dal risultato reałe de ła cache, dal guasto del proxy e dai byte finałi de ła risposta, sensa mostrar ciavi de cache, indirisi del backend, nomi DNS o erori grezi.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Campo | Cossa el segnala |
|---|---|
Cache-Status | Risultati de ła cache RFC 9211 come hit, miss, invio de dati veci, rivalidazion, scadensa e bypass. |
Proxy-Status | Detaji a bassa cardinalità RFC 9209 par i guasti generài da Fluxheim. |
Content-Digest | RFC 9530 SHA-256 sul contenuto finałe del mesajo HTTP dopo ła compresion. |
Repr-Digest | SHA-256 soło quando Fluxheim el tien ła raprexentazion completa sełesionada. |
Snapshot live e rollback
I snapshot autenticài i pol publicar un candidato validà, sostituir el router ativo e far rollback sensa riaviar łe normali instalasion soło de routing. Ogni richiesta ła resta su na soła jenerasion del router dal principio a ła fine.
- Tien el deposito dei snapshot inte na directory privata dedicada; łe directory esistenti no private e łe radixe del filesystem łe vien rifiutade.
- Dòpara un ajornamento del proceso quando xe ativi i servizi in background par ła sałute o ła scoperta del load balancer.
- Fa i controłi de integrità del snapshot dopo ła publicasion o el rollback e verifica che ła jenerasion sełesionada ła sopraviva al riavìo.
Abitudini segure
- Run
fluxheim --check-configbefore reloads. - Usa un vhost par sito o par boundary applicativo.
- Tieni i segreti in file, environment o secret container, no inte ła documentasion pubblica.
- Tien i file de configurasion e tute le directory superiori esistenti soto proprietà fidada e no scrivibili dal grupo o da altri utenti.
- Sostituissi el processo quando cambia TLS, listener, stream, UDP, ACME, pulizia cache, tracing o impostasion del processo PHP-FPM gestìo; el routing ordinario e le policy durante la richiesta le pol usar un snapshot reload.
- Usa limiti a livello route par upload e path applicativi costosi.
- Tegnì privati i listener admin e metrics.