Configuration Basics
A Fluxheim TOML-t használ. Az ismeretlen fieldök elutasításra kerülnek, így az elgépelések restart előtt megbuknak.
Fő forma
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
Több-bérlős telepítéseknél engedélyezze a [server.host_routing].strict = true beállítást, így a hiányzó vagy érvénytelen host-azonosság 400, az ismeretlen hosts pedig 421 választ adnak az alapértelmezett webhely helyett.
Hogyan szervezett a config
| Terület | Mi tartozik oda |
|---|---|
server | Listeners, global limits, trusted proxy handling, and redirects. |
tls | Global TLS backend és compatibility policy. |
cache | Process-wide cache defaults and storage tiers. |
vhosts | Hostnames, routes, web roots, proxy settings, PHP, TLS, and access policy. |
metrics | Prometheus és export listenerek operational visibilityhez. |
Route forma
[[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"]
Egy route-nak egy matcherje és egy actionje van. Először az exact path nyer, majd a longest prefix, aztán regex route-ok, ha regex support engedélyezett, végül egy fallback route.
HTTP válaszbiztonság
A HTTP válasz-biztonsági profilok nem kötelezőek. Kezdje a következővel: baseline; csak az összes szkript, betűtípus, kép, bejelentkezési folyamat és beágyazott erőforrás tesztelése után használja a több eredetű elkülönítést.
[headers.response.hardening]
profile = "baseline"
| Profil | Mit csinál |
|---|---|
off | Letiltva tartja az opt-in keményítő fejléceket. |
baseline | Konzervatív böngészőizolációt és erőforrás-politikai alapértelmezéseket ad hozzá, amelyek a legtöbb webhelyhez megfelelnek. |
cross-origin-isolated | Lehetővé teszi a szigorú eredetközi elkülönítést az összes külső függőséget tesztelő alkalmazások számára. |
Egyik profil sem engedélyezi a HSTS-t vagy a CSP-t. Konfigurálja ezeket külön, miután tesztelte őket a valódi webhelyen.
Szabványalapú válaszmetaadatok
A válasz metaadatai alapértelmezés szerint le vannak tiltva. Csak a szükséges mezőket engedélyezze; A Fluxheim a gyorsítótár tényleges eredményéből, a proxyhibából és a végső válasz bájtjaiból származtatja őket anélkül, hogy felfedné a gyorsítótár kulcsait, a háttércímeket, a DNS-neveket vagy a nyers hibákat.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Mező | Amiről beszámol |
|---|---|
Cache-Status | RFC 9211 gyorsítótár-eredmények, például találat, kihagyás, elavult továbbítás, újraérvényesítés, lejárat és bypass. |
Proxy-Status | RFC 9209 alacsony kardinalitású részletek a Fluxheim által generált hibákhoz. |
Content-Digest | RFC 9530 SHA-256 a tömörítés utáni utolsó HTTP üzenettartalom felett. |
Repr-Digest | SHA-256 csak akkor, ha a Fluxheim tartalmazza a teljes kiválasztott ábrázolást. |
Élő pillanatképek és visszaállítás
A hitelesített pillanatképek közzétehetik az ellenőrzött jelöltet, lecserélhetik az élő útválasztót, és visszaállíthatók a normál, csak útválasztásra szolgáló központi telepítések újraindítása nélkül. Minden kérés az elejétől a végéig egy útválasztó generáción marad.
- Tartsa a pillanatkép-tárat egy dedikált privát könyvtárban; a meglévő nem privát könyvtárak és fájlrendszer-gyökerek elutasításra kerülnek.
- Használjon folyamatfrissítést, ha a háttérterhelés-elosztó állapota vagy a felderítési szolgáltatások aktívak.
- Futtassa le a pillanatkép integritásának ellenőrzését a közzététel vagy a visszaállítás után, és ellenőrizze, hogy a kiválasztott generáció túléli-e az újraindítást.
Biztonságos szokások
- Run
fluxheim --check-configbefore reloads. - Site-onként vagy application boundarynként használj egy vhostot.
- A secretek file-okban, environmentben vagy container secretekben legyenek, ne public docsban.
- A konfigurációs fájlok és minden meglévő szülőkönyvtár megbízható tulajdonban legyen, és a csoport vagy más felhasználók ne írhassák őket.
- Cserélje le a folyamatot, ha a TLS, listeners, streams, UDP, ACME, cache-tisztítás, tracing vagy a felügyelt PHP-FPM folyamat beállításai változnak; a szokásos útválasztás és kérés közbeni szabályok snapshot-újratöltést használhatnak.
- Használj route-level limiteket uploadokhoz és költséges application pathokhoz.
- Az admin és metrics listenerek maradjanak private.