Fluxheim/Dokumentacija/Configuration Basics

Configuration Basics

Fluxheim naudoja TOML. Nežinomi laukai atmetami, todėl rašybos klaidos nepraeina prieš restart.

Pagrindinė forma

[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"

[[vhosts]]
name = "site"
hosts = ["example.com"]

Kelių nuomininkų diegimuose įjunkite [server.host_routing].strict = true, kad trūkstama ar netinkama host tapatybė grąžintų 400, o nežinomi hosts grąžintų 421 užuot patekę į numatytąją svetainę.

Kaip organizuotas config

SritisKas ten priklauso
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobali TLS backend ir compatibility policy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus ir export listener operaciniam matomumui.

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"]

Route turi vieną matcher ir vieną action. Exact path laimi pirmi, tada ilgiausi prefix, tada regex route, kai regex support įjungtas, tada fallback route.

HTTP atsako sauga

HTTP atsako saugos profiliai yra neprivalomi. Pradėkite nuo baseline; naudokite kelių šaltinių izoliaciją tik išbandę kiekvieną scenarijų, šriftą, vaizdą, prisijungimo srautą ir įterptuosius išteklius.

[headers.response.hardening]
profile = "baseline"
ProfilisKą tai daro
offIšjungia pasirinkimo griežtinimo antraštes.
baselinePridedama konservatyvi naršyklės izoliacija ir numatytieji išteklių politikos nustatymai, tinkami daugumai svetainių.
cross-origin-isolatedĮgalina griežtą skirtingų šaltinių izoliaciją programoms, kurios išbandė visas išorines priklausomybes.

Nė vienas profilis neįgalina HSTS arba CSP. Konfigūruokite juos atskirai, išbandę juos su realia svetaine.

Standartais pagrįsti atsakymų metaduomenys

Pagal numatytuosius nustatymus atsakymų metaduomenys išjungti. Įjunkite tik tuos laukus, kurių jums reikia; Fluxheim juos išveda iš tikrojo talpyklos rezultato, tarpinio serverio gedimo ir galutinio atsako baitų neatskleisdamas talpyklos raktų, užpakalinės programos adresų, DNS pavadinimų ar neapdorotų klaidų.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
LaukasKą ji praneša
Cache-StatusRFC 9211 talpyklos rezultatai, pvz., įvykis, praleistas, pasenęs persiuntimas, pakartotinis patvirtinimas, galiojimo pabaiga ir apėjimas.
Proxy-StatusRFC 9209 mažo kardinalumo informacija apie gedimus, sugeneruotus Fluxheim.
Content-DigestRFC 9530 SHA-256 per galutinį HTTP pranešimo turinį po suspaudimo.
Repr-DigestSHA-256 tik tada, kai Fluxheim turi visą pasirinktą atvaizdą.

Tiesioginės momentinės nuotraukos ir atšaukimas

Autentifikuotos momentinės nuotraukos gali paskelbti patvirtintą kandidatą, pakeisti tiesioginį maršruto parinktuvą ir atšaukti iš naujo nepaleidžiant įprasto tik maršruto diegimo. Kiekviena užklausa nuo pradžios iki pabaigos lieka vienoje maršrutizatoriaus kartoje.

  • Laikykite momentinių nuotraukų parduotuvę tam skirtame privačiame kataloge; esami ne privatūs katalogai ir failų sistemos šaknys atmetami.
  • Naudokite proceso naujinimą, kai aktyvios fono apkrovos balansavimo ar aptikimo paslaugos.
  • Paleiskite momentinės nuotraukos vientisumo patikras po paskelbimo arba atšaukimo ir patikrinkite, ar pasirinkta karta išgyvena paleidus iš naujo.
Perskaitykite visą momentinę sutartį

Saugūs įpročiai

  • Run fluxheim --check-config before reloads.
  • Naudok vieną vhost kiekvienam site arba application boundary.
  • Laikyk secret file, environment arba container secrets, o ne public docs.
  • Konfigūracijos failai ir visi esami jų pirminiai katalogai turi priklausyti patikimam savininkui, o grupė ir kiti naudotojai neturi turėti teisės į juos rašyti.
  • Pakeiskite procesą, kai keičiasi TLS, listeners, streams, UDP, ACME, cache valymas, tracing arba valdomo PHP-FPM proceso nustatymai; įprastam maršrutizavimui ir užklausos metu taikomoms taisyklėms galima iš naujo įkelti snapshot.
  • Naudok route-level limitus upload ir brangiems application path.
  • Laikyk admin ir metrics listener privačius.
Lietuvių