Configuration Basics
Fluxheim usa TOML. I campi scanusciuti vennu rifiutati, accussì l'errura di battitura fallìscinu prima dû riavviu.
Forma principale
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
Pi deployment multi-tenant, attiva [server.host_routing].strict = true, accussì n’identità host mancanti o nun valida torna 400 e li host scanusciuti tornanu 421 mmeci di arrivari ô situ predefinitu.
Comu è organizzatu u config
| Sezione | Chi ci apparteni |
|---|---|
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 pi visibilità operativa. |
Forma dâ 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 havi un matcher e n'azzioni. I path esatti vìncinu prima, poi li prefissi cchiù longhi, poi route regex quannu u supportu regex è abbilitatu, nfini na route fallback.
Sicurizza dâ risposta HTTP
Li profili di sicurizza dâ risposta HTTP sunnu opziunali. Accumincia cu baseline; usa l'isolamentu cross-origin sulu doppu aviri pruvatu ogni script, font, mmàggini, flussu d'accessu e risursa ncorporata.
[headers.response.hardening]
profile = "baseline"
| Profilu | Zoccu fa |
|---|---|
off | Lassa disattivati li header opziunali di hardening. |
baseline | Agghiunci isolamentu prudenti dû browser e valura predefiniti dî policy dî risursi adatti â majuranza dî siti. |
cross-origin-isolated | Abbìlita isolamentu cross-origin strittu pi l'applicazzioni ca hannu pruvatu tutti li dipinnenzi esterni. |
Nuddu profilu abbìlita HSTS o CSP. Cunfìgurali siparatamenti doppu avìrili pruvati ntô situ veru.
Metadati di risposta basati supra li standard
Li metadati dâ risposta sunnu disattivati pi difauttu. Attiva sulu li campi ca ti servinu; Fluxheim li diriva dû risurtatu dâ cache riali, dû fallimentu dû proxy e dî byte di risposta finali senza espòniri li chiavi dâ cache, l'indirizzi dû backend, li nomi DNS o l'erruri grezzi.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Campu | Chiddu ca riporta |
|---|---|
Cache-Status | Risurtati dâ cache RFC 9211 comu colpi, mancanza, rinviu vècchiu, rivalidazzioni, scadenza e bypass. |
Proxy-Status | Dittagghi a vascia cardinalità pi guasti ginirati di Fluxheim. |
Content-Digest | RFC 9530 SHA-256 supra lu cuntinutu dû missaggiu HTTP finali doppu la cumpressioni. |
Repr-Digest | SHA-256 sulu quannu Fluxheim teni la riprisintazzioni cumpleta scigghiuta. |
Istantanei 'n diretta e rollback
Li snapshot autinticati ponnu pubbricari un cannidatu cunvalidatu, scanciari lu router live e arriturnari senza riavviari li distribbuzzioni nurmali sulu pi routing. Ogni richiesta arrista nnâ ginirazzioni di router di l'inizziu â fini.
- Mantèniri lu magazzinu di l'istantanei nna na cartella privata didicata; li cartelli nun privati esistenti e li ràdichi dû sistema di file vennu rifiutati.
- Usa n'agghiornamentu dû prucessu quannu li sirvizzi di saluti o di scuperta dû bilanciaturi di càrricu di funnu sunnu attivi.
- Esegui cuntrolli di ntigrità di l'istantanea doppu la pubblicazzioni o lu rollback e virìfica ca la ginirazzioni scigghiuta supravvivi ô riavviu.
Abbitùdini sicuri
- Run
fluxheim --check-configbefore reloads. - Usa un vhost pi situ o pi boundary applicativu.
- Teni li sigreti n file, environment o secret container, nun ntâ ducumentazzioni pùbblica.
- Teni li file di cunfigurazzioni e tutti li directory matri esistenti sutta prupietà fidata e nun scrivibili dû gruppu o d’àutri utenti.
- Sustituisci lu prucessu quannu canciunu TLS, listener, stream, UDP, ACME, pulizzia cache, tracing o mpustazzioni dû prucessu PHP-FPM gestitu; lu routing nurmali e li policy ntô tempu dâ richiesta ponnu usari nu snapshot reload.
- Usa limiti a livello route pi upload e path applicativi costosi.
- Mantieni privati li listener admin e metrics.