Configuration Basics
Fluxheim uporablja TOML. Nepoznata polja se odbijaju, pa tipfeleri padaju pred restarta.
Glavni oblik
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
Pri večnajemniških namestitvah omogočite [server.host_routing].strict = true, da manjkajoča ali neveljavna identiteta gostitelja vrne 400, neznani gostitelji pa 421, namesto da bi dosegli privzeto spletno mesto.
Kako je config organiziran
| Područje | Kaj tamo pripada |
|---|---|
server | Listeners, global limits, trusted proxy handling, and redirects. |
tls | Globalna TLS backend in compatibility policy. |
cache | Process-wide cache defaults and storage tiers. |
vhosts | Hostnames, routes, web roots, proxy settings, PHP, TLS, and access policy. |
metrics | Prometheus in export listener za operativnu vidljivost. |
Oblik 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"]
Route ima jedan matcher in jednu action. Exact path pobjeđuje prvi, nato najduži prefix, nato regex route kada je regex support vključen, pa fallback route.
Varnost odziva HTTP
Varnostni profili odziva HTTP so neobvezni. Začnite z baseline; uporabite izolacijo navzkrižnega izvora šele po testiranju vsakega skripta, pisave, slike, poteka prijave in vdelanega vira.
[headers.response.hardening]
profile = "baseline"
| Profil | Kaj počne |
|---|---|
off | Onemogoči ojačitvene glave za privolitev. |
baseline | Doda konzervativno izolacijo brskalnika in privzete nastavitve pravilnika o virih, primerne za večino spletnih mest. |
cross-origin-isolated | Omogoča strogo izolacijo med izvori za aplikacije, ki so testirale vsako zunanjo odvisnost. |
Noben profil ne omogoča HSTS ali CSP. Konfigurirajte jih ločeno, potem ko jih preizkusite na pravem mestu.
Metapodatki o odzivu na podlagi standardov
Metapodatki o odzivu so privzeto onemogočeni. Omogočite samo polja, ki jih potrebujete; Fluxheim jih izpelje iz dejanskega rezultata predpomnilnika, napake proxyja in končnih odzivnih bajtov, ne da bi razkril ključe predpomnilnika, zaledne naslove, imena DNS ali neobdelane napake.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Polje | Kaj poroča |
|---|---|
Cache-Status | Rezultati predpomnilnika RFC 9211, kot so zadetek, zgrešen, zastarelo posredovanje, ponovno preverjanje, potek in obhod. |
Proxy-Status | RFC 9209 podrobnosti nizke kardinalnosti za napake, ki jih ustvari Fluxheim. |
Content-Digest | RFC 9530 SHA-256 čez končno vsebino sporočila HTTP po stiskanju. |
Repr-Digest | SHA-256 samo, če Fluxheim vsebuje celotno izbrano predstavitev. |
Posnetki v živo in povrnitev nazaj
Preverjeni posnetki lahko objavijo potrjenega kandidata, zamenjajo usmerjevalnik v živo in se vrnejo nazaj brez ponovnega zagona običajnih razmestitev samo za usmerjanje. Vsaka zahteva ostane na eni generaciji usmerjevalnika od začetka do konca.
- Hranite shrambo posnetkov v namenskem zasebnem imeniku; obstoječi nezasebni imeniki in koreni datotečnega sistema so zavrnjeni.
- Uporabite nadgradnjo procesa, ko so aktivne storitve uravnoteženja obremenitve v ozadju ali storitve odkrivanja.
- Zaženite preverjanje celovitosti posnetkov po objavi ali povrnitvi in preverite, ali izbrana generacija preživi ponovni zagon.
Sigurne navike
- Run
fluxheim --check-configbefore reloads. - Uporabi jedan vhost po siter ali application boundary.
- Drži secret v file, environment ali kontejner secrets, ne v public docs.
- Konfiguracijske datoteke in vse obstoječe nadrejene imenike ohranite v zaupanja vrednem lastništvu ter brez dovoljenja za pisanje skupini ali drugim uporabnikom.
- Ob spremembi TLS, poslušalcev, tokov, UDP, ACME, čiščenja predpomnilnika, sledenja ali nastavitev upravljanega procesa PHP-FPM zamenjajte proces; običajno usmerjanje in pravilniki med obdelavo zahteve lahko uporabijo ponovno nalaganje posnetka.
- Uporabi route-level limiter za upload in skupe application path.
- Drži admin in metrics listener privatnima.