Fluxheim/Dokumentacija/Configuration Basics

Configuration Basics

Fluxheim koristi TOML. Nepoznata polja se odbijaju, pa tipfeleri padaju prije restarta.

Glavni oblik

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

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

Za višekorisnička postavljanja omogućite [server.host_routing].strict = true kako bi nedostajući ili nevažeći identitet hosta vratio 400, a nepoznati hostovi 421 umjesto zadane stranice.

Kako je config organiziran

PodručjeŠto tamo pripada
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobalna TLS backend i compatibility policy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus i 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 i jednu action. Exact path pobjeđuje prvi, zatim najduži prefix, zatim regex route kada je regex support uključen, pa fallback route.

Sigurnost HTTP odgovora

HTTP sigurnosni profili odgovora su opcioni. Počnite s baseline; koristite izolaciju između porijekla samo nakon testiranja svake skripte, fonta, slike, toka prijave i ugrađenog resursa.

[headers.response.hardening]
profile = "baseline"
ProfilŠta radi
offOstavlja isključena zaglavlja za učvršćivanje.
baselineDodaje konzervativnu izolaciju pretraživača i zadane postavke politike resursa prikladne za većinu web lokacija.
cross-origin-isolatedOmogućava strogu izolaciju između izvora za aplikacije koje su testirale svaku eksternu zavisnost.

Nijedan profil ne omogućava HSTS ili CSP. Konfigurišite ih zasebno nakon što ih testirate u odnosu na stvarnu lokaciju.

Metapodaci odgovora zasnovani na standardima

Metapodaci odgovora su podrazumevano onemogućeni. Omogućite samo polja koja su vam potrebna; Fluxheim ih izvodi iz stvarnog rezultata keširanja, greške proxyja i konačnih bajtova odgovora bez izlaganja ključeva keša, pozadinskih adresa, DNS imena ili sirovih grešaka.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
PoljeŠta izveštava
Cache-StatusRFC 9211 ishodi keširanja kao što su pogodak, promašaj, zastarjelo prosljeđivanje, ponovna validacija, istek i zaobilaženje.
Proxy-StatusRFC 9209 detalji niske kardinalnosti za kvarove koje generiše Fluxheim.
Content-DigestRFC 9530 SHA-256 preko konačnog sadržaja poruke HTTP nakon kompresije.
Repr-DigestSHA-256 samo kada Fluxheim drži kompletan odabrani prikaz.

Snimci uživo i vraćanje

Ovjereni snimci mogu objaviti potvrđenog kandidata, zamijeniti aktivni ruter i vratiti se bez ponovnog pokretanja normalnih implementacija samo za usmjeravanje. Svaki zahtjev ostaje na jednoj generaciji rutera od početka do kraja.

  • Čuvajte pohranu snimaka u namjenskom privatnom direktoriju; postojeći ne-privatni direktoriji i korijeni sistema datoteka su odbijeni.
  • Koristite nadogradnju procesa kada su aktivne usluge zdravlja ili otkrivanja pozadinskog balansera opterećenja.
  • Pokrenite provjere integriteta snimka nakon objavljivanja ili vraćanja i provjerite da li je odabrana generacija preživjela ponovno pokretanje.
Pročitajte kompletan snimak ugovora

Sigurne navike

  • Run fluxheim --check-config before reloads.
  • Koristi jedan vhost po site ili application boundary.
  • Drži secret u file, environment ili container secrets, ne u public docs.
  • Konfiguracijske datoteke i svaki postojeći nadređeni direktorij držite u pouzdanom vlasništvu, bez dozvole pisanja za grupu ili druge korisnike.
  • Zamijenite proces kada se promijene postavke TLS-a, listenera, streamova, UDP-a, ACME-a, čišćenja cachea, tracinga ili upravljanog PHP-FPM procesa; obično usmjeravanje i pravila tokom zahtjeva mogu koristiti ponovno učitavanje snapshota.
  • Koristi route-level limite za upload i skupe application path.
  • Drži admin i metrics listener privatnima.
Bosanski