Fluxheim/Dokumentace/Configuration Basics

Configuration Basics

Fluxheim používá TOML. Neznámá pole se odmítají, takže překlepy selžou před restartem.

Hlavní tvar

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

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

U vícenájemních nasazení povolte [server.host_routing].strict = true, aby chybějící nebo neplatná identita hostitele vracela 400 a neznámí hostitelé 421 namísto výchozího webu.

Jak je config organizovaný

OblastCo sem patří
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobální TLS backend a compatibility policy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus a export listener pro provozní viditelnost.

Tvar 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 má jeden matcher a jednu action. Exact path vyhrává první, potom nejdelší prefix, potom regex route při zapnuté regex support a nakonec fallback route.

Zabezpečení odezvy HTTP

Profily zabezpečení odezvy HTTP jsou volitelné. Začněte s baseline; použijte izolaci mezi původy pouze po otestování každého skriptu, písma, obrázku, toku přihlášení a vloženého prostředku.

[headers.response.hardening]
profile = "baseline"
ProfilCo to dělá
offPonechá deaktivovaná volitelná zpevňovací záhlaví.
baselinePřidává konzervativní izolaci prohlížeče a výchozí hodnoty zásad zdrojů vhodné pro většinu webů.
cross-origin-isolatedUmožňuje přísnou izolaci mezi zdroji pro aplikace, které testovaly všechny externí závislosti.

Žádný profil neumožňuje HSTS ani CSP. Po otestování na skutečném webu je nakonfigurujte samostatně.

Metadata odpovědí založená na standardech

Metadata odpovědi jsou ve výchozím nastavení zakázána. Povolte pouze pole, která potřebujete; Fluxheim je odvozuje ze skutečného výsledku mezipaměti, selhání proxy a konečných bajtů odpovědi, aniž by odhalil klíče mezipaměti, adresy back-endu, názvy DNS nebo nezpracované chyby.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
poleCo hlásí
Cache-StatusVýsledky mezipaměti RFC 9211, jako je hit, miss, zastaralé předávání, revalidace, expirace a bypass.
Proxy-StatusPodrobnosti o nízké kardinalitě RFC 9209 pro selhání generované Fluxheim.
Content-DigestRFC 9530 SHA-256 přes konečný obsah zprávy HTTP po kompresi.
Repr-DigestSHA-256 pouze tehdy, když Fluxheim obsahuje kompletní vybranou reprezentaci.

Živé snímky a rollback

Ověřené snímky mohou publikovat ověřeného kandidáta, nahradit aktivní směrovač a vrátit se zpět bez restartování normálních nasazení pouze pro směrování. Každý požadavek zůstává na jedné generaci routeru od začátku do konce.

  • Udržujte úložiště snímků ve vyhrazeném soukromém adresáři; existující nesoukromé adresáře a kořeny souborového systému jsou odmítnuty.
  • Upgrade procesu použijte, když jsou aktivní služby pro vyrovnávání zatížení na pozadí nebo služby zjišťování.
  • Spusťte kontroly integrity snímku po publikování nebo vrácení zpět a ověřte, že vybraná generace přežije restart.
Přečtěte si kompletní snapshot smlouvu

Bezpečné návyky

  • Run fluxheim --check-config before reloads.
  • Použij jeden vhost na site nebo application boundary.
  • Drž secret ve file, environment nebo container secrets, ne ve veřejné dokumentaci.
  • Konfigurační soubory a všechny existující nadřazené adresáře ponechte v důvěryhodném vlastnictví a bez práva zápisu pro skupinu či ostatní uživatele.
  • Při změně nastavení TLS, listenerů, streamů, UDP, ACME, čištění cache, tracingu nebo spravovaného procesu PHP-FPM proces nahraďte; běžné směrování a pravidla při zpracování požadavku mohou použít opětovné načtení snapshotu.
  • Použij route-level limity pro upload a drahé application path.
  • Drž admin a metrics listener privátní.
Čeština