Fluxheim/Documentasion/Configuration Basics

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

SezioneCosa appartiene lì
serverListeners, global limits, trusted proxy handling, and redirects.
tlsBackend TLS globale e policy compatibilità.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus 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"
ProfiloCossa che el fa
offEl lassa disativà i header opzionałi de hardening.
baselineEl zonta isolamento prudente del browser e vałori predefinìi de policy de łe risorse adati a ła magior parte dei siti.
cross-origin-isolatedEl 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
CampoCossa el segnala
Cache-StatusRisultati de ła cache RFC 9211 come hit, miss, invio de dati veci, rivalidazion, scadensa e bypass.
Proxy-StatusDetaji a bassa cardinalità RFC 9209 par i guasti generài da Fluxheim.
Content-DigestRFC 9530 SHA-256 sul contenuto finałe del mesajo HTTP dopo ła compresion.
Repr-DigestSHA-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.
Lezi el contrato completo dei snapshot

Abitudini segure

  • Run fluxheim --check-config before 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.
Vèneto