Configuration Basics
Fluxheim usa TOML. Els camps desconeguts es rebutgen, així que els errors d'escriptura fallen abans del reinici.
Forma principal
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
En desplegaments multiinquilí, activeu [server.host_routing].strict = true perquè una identitat d’amfitrió absent o no vàlida retorni 400 i els amfitrions desconeguts retornin 421 en lloc d’arribar al lloc predeterminat.
Com s'organitza la config
| Àrea | Què hi pertany |
|---|---|
server | Listeners, global limits, trusted proxy handling, and redirects. |
tls | Backend TLS global i política de compatibilidad. |
cache | Process-wide cache defaults and storage tiers. |
vhosts | Hostnames, routes, web roots, proxy settings, PHP, TLS, and access policy. |
metrics | Prometheus i export listeners per a visibilidad operativa. |
Forma de 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 tiene un matcher i una action. Exact paths ganan primero, luego prefixes más largos, luego regex routes cuando regex support está activo, i finalmente una fallback route.
Seguretat de resposta HTTP
Els perfils de seguretat de resposta HTTP són opcionals. Comenceu amb baseline; utilitzeu l'aïllament entre orígens només després de provar cada script, tipus de lletra, imatge, flux d'inici de sessió i recurs incrustat.
[headers.response.hardening]
profile = "baseline"
| Perfil | Què fa |
|---|---|
off | Manté les capçaleres d'enduriment activades desactivades. |
baseline | Afegeix un aïllament conservador del navegador i els valors predeterminats de la política de recursos adequats per a la majoria de llocs. |
cross-origin-isolated | Permet un aïllament estricte entre orígens per a aplicacions que han provat totes les dependències externes. |
Cap dels dos perfils activa HSTS o CSP. Configureu-los per separat després de provar-los amb el lloc real.
Metadades de resposta basades en estàndards
Les metadades de resposta estan desactivades de manera predeterminada. Habiliteu només els camps que necessiteu; Fluxheim els deriva del resultat real de la memòria cau, l'error del servidor intermediari i els bytes de resposta final sense exposar les claus de la memòria cau, les adreces de fons, els noms DNS o els errors en brut.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Camp | El que informa |
|---|---|
Cache-Status | RFC 9211 resultats de la memòria cau, com ara encert, error, reenviament obsolet, revalidació, caducitat i bypass. |
Proxy-Status | Detalls de cardinalitat baixa de RFC 9209 per a errors generats per Fluxheim. |
Content-Digest | RFC 9530 SHA-256 sobre el contingut final del missatge HTTP després de la compressió. |
Repr-Digest | SHA-256 només quan Fluxheim conté la representació seleccionada completa. |
Instantània en directe i retrocés
Les instantànies autenticades poden publicar un candidat validat, substituir l'encaminador en directe i retrocedir sense reiniciar els desplegaments normals només d'encaminament. Cada sol·licitud es manté en una generació d'encaminador des del principi fins al final.
- Mantingueu la botiga d'instantànies en un directori privat dedicat; es rebutgen els directoris no privats existents i les arrels del sistema de fitxers.
- Utilitzeu una actualització de procés quan els serveis de descobriment o la salut de l'equilibrador de càrrega en segon pla estiguin actius.
- Executeu comprovacions d'integritat de les instantànies després de la publicació o de la retroalimentació i comproveu que la generació seleccionada sobreviu al reinici.
Hàbits segurs
- Run
fluxheim --check-configbefore reloads. - Usa un vhost per lloc o límit d'aplicació.
- Mantingues secrets en fitxers, entorn o container secrets, no en docs públics.
- Manteniu els fitxers de configuració i tots els directoris pare existents sota una propietat de confiança i sense permisos d’escriptura per al grup ni per a altres usuaris.
- Substituïu el procés quan canviïn TLS, els listeners, els fluxos, UDP, ACME, la purga de memòria cau, el seguiment o la configuració del procés PHP-FPM gestionat; l’encaminament ordinari i les polítiques durant la petició poden usar una recàrrega de snapshot.
- Usa límits a nivell de route per a uploads i paths d'aplicació costosos.
- Mantingues privats els listeners d'admin i metrics.