Fluxheim/Documentație/Configuration Basics

Configuration Basics

Fluxheim folosește TOML. Câmpurile necunoscute sunt respinse, deci greșelile de scriere eșuează înainte de restart.

Forma principală

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

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

Pentru implementări multi-tenant, activați [server.host_routing].strict = true, astfel încât o identitate host absentă sau nevalidă să returneze 400, iar gazdele necunoscute să returneze 421 în loc să ajungă la site-ul implicit.

Cum este organizat configul

ZonăCe aparține acolo
serverListeners, global limits, trusted proxy handling, and redirects.
tlsBackend TLS global și compatibility policy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus și export listeners pentru vizibilitate operațională.

Forma route-ului

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

Un route are un matcher și o action. Exact paths câștigă primele, apoi cele mai lungi prefixe, apoi regex routes când regex support este activ, apoi un fallback route.

Securitatea răspunsului HTTP

Profilurile HTTP de securitate a răspunsului sunt opționale. Începeți cu baseline; utilizați izolarea între origini numai după testarea fiecărui script, font, imagine, flux de conectare și resursă încorporată.

[headers.response.hardening]
profile = "baseline"
ProfilCe face
offMenține anteturile de întărire opt-in dezactivate.
baselineAdaugă izolarea conservatoare a browserului și valorile implicite ale politicii de resurse, potrivite pentru majoritatea site-urilor.
cross-origin-isolatedPermite izolarea strictă între origini pentru aplicațiile care au testat fiecare dependență externă.

Niciun profil nu activează HSTS sau CSP. Configurați-le separat după ce le testați pe site-ul real.

Metadate de răspuns bazate pe standarde

Metadatele răspunsului sunt dezactivate implicit. Activați numai câmpurile de care aveți nevoie; Fluxheim le derivă din rezultatul real al memoriei cache, eșecul proxy-ului și octeții de răspuns final, fără a expune cheile cache, adresele backend, numele DNS sau erorile brute.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
CâmpCe raportează
Cache-StatusRFC 9211 rezultate ale memoriei cache, cum ar fi lovitura, ratarea, redirecționarea obținută, revalidarea, expirarea și ocolirea.
Proxy-StatusRFC 9209 detalii cu cardinalitate scăzută pentru eșecurile generate de Fluxheim.
Content-DigestRFC 9530 SHA-256 peste conținutul final al mesajului HTTP după comprimare.
Repr-DigestSHA-256 numai atunci când Fluxheim deține reprezentarea completă selectată.

Instantanee live și rollback

Instantaneele autentificate pot publica un candidat validat, pot înlocui routerul live și pot rula înapoi fără a reporni implementările normale de rutare. Fiecare cerere rămâne pe o generație de router de la început până la sfârșit.

  • Păstrați magazinul de instantanee într-un director privat dedicat; directoarele non-private existente și rădăcinile sistemului de fișiere sunt respinse.
  • Utilizați o actualizare a procesului atunci când serviciile de descoperire sau starea de echilibrare a încărcării în fundal sunt active.
  • Rulați verificări de integritate a instantaneelor după publicare sau derulare înapoi și verificați că generația selectată supraviețuiește repornirii.
Citiți întregul contract instantaneu

Obiceiuri sigure

  • Run fluxheim --check-config before reloads.
  • Folosește un vhost pentru fiecare site sau boundary de aplicație.
  • Ține secretele în file-uri, environment sau container secrets, nu în documentație publică.
  • Păstrați fișierele de configurare și fiecare director părinte existent sub proprietate de încredere și fără drept de scriere pentru grup sau alți utilizatori.
  • Înlocuiți procesul când se schimbă setările TLS, listener, stream, UDP, ACME, curățarea cache, tracing sau procesul PHP-FPM gestionat; rutarea obișnuită și politicile aplicate în timpul cererii pot folosi reîncărcarea unui snapshot.
  • Folosește limite la nivel de route pentru upload-uri și application paths scumpe.
  • Ține admin și metrics listeners private.
Română