Configuration Basics
Fluxheim käyttää TOML:ia. Tuntemattomat kentät hylätään, joten kirjoitusvirheet epäonnistuvat ennen uudelleenkäynnistystä.
Päämuoto
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
Ota usean vuokraajan ympäristöissä käyttöön [server.host_routing].strict = true, jolloin puuttuva tai virheellinen isäntätunniste palauttaa 400 ja tuntematon isäntä 421 oletussivustolle siirtymisen sijasta.
Miten config on järjestetty
| Alue | Mitä sinne kuuluu |
|---|---|
server | Listeners, global limits, trusted proxy handling, and redirects. |
tls | Globaali TLS-backend ja compatibility policy. |
cache | Process-wide cache defaults and storage tiers. |
vhosts | Hostnames, routes, web roots, proxy settings, PHP, TLS, and access policy. |
metrics | Prometheus- ja export-listenerit operatiivista näkyvyyttä varten. |
Routen muoto
[[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"]
Routella on yksi matcher ja yksi action. Tarkat polut voittavat ensin, sitten pisimmät prefixit, sitten regex-routet kun regex-tuki on käytössä, ja lopuksi yksi fallback-route.
HTTP-vastauksen suojaus
HTTP-vastausturvaprofiilit ovat valinnaisia. Aloita sanalla baseline; käytä eri lähteiden eristämistä vasta sen jälkeen, kun olet testannut jokaisen skriptin, kirjasimen, kuvan, kirjautumiskulun ja upotetun resurssin.
[headers.response.hardening]
profile = "baseline"
| Profiili | Mitä se tekee |
|---|---|
off | Pitää valinnaiset karkaisuotsikot pois käytöstä. |
baseline | Lisää konservatiivisen selaimen eristyksen ja resurssipolitiikan oletusasetukset, jotka sopivat useimmille sivustoille. |
cross-origin-isolated | Mahdollistaa tiukan lähteiden välisen eristyksen sovelluksille, jotka ovat testanneet kaikki ulkoiset riippuvuudet. |
Kumpikaan profiili ei ota käyttöön HSTS:ää tai CSP:tä. Määritä ne erikseen testattuasi niitä todellisessa sivustossa.
Standardeihin perustuva vastaus metatiedot
Vastauksen metatiedot on oletuksena poistettu käytöstä. Ota käyttöön vain tarvitsemasi kentät; Fluxheim johtaa ne todellisesta välimuistin tuloksesta, välityspalvelimen virheestä ja lopullisista vastaustavuista paljastamatta välimuistin avaimia, taustaosoitteita, DNS-nimiä tai raakavirheitä.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Kenttä | Mitä se raportoi |
|---|---|
Cache-Status | RFC 9211 välimuistin tulokset, kuten osuma, ohitus, vanhentunut edelleenlähetys, uudelleentarkistus, vanheneminen ja ohitus. |
Proxy-Status | RFC 9209 matalakardinaliteettitiedot Fluxheim:n luomista vioista. |
Content-Digest | RFC 9530 SHA-256 viimeisen HTTP-viestin sisällön pakkaamisen jälkeen. |
Repr-Digest | SHA-256 vain, kun Fluxheim sisältää koko valitun esityksen. |
Live tilannekuvat ja palautus
Autentikoidut tilannevedokset voivat julkaista validoidun ehdokkaan, korvata toimivan reitittimen ja palauttaa ne käynnistämättä uudelleen normaaleja vain reititystä koskevia käyttöönottoja. Jokainen pyyntö pysyy yhdessä reitittimen sukupolvessa alusta loppuun.
- Säilytä tilannekuvavarasto erillisessä yksityisessä hakemistossa; olemassa olevat ei-yksityiset hakemistot ja tiedostojärjestelmän juuret hylätään.
- Käytä prosessin päivitystä, kun taustakuormituksen tasapainottimen kunto- tai etsintäpalvelut ovat aktiivisia.
- Suorita tilannevedoksen eheystarkistukset julkaisun tai palautuksen jälkeen ja varmista, että valittu sukupolvi kestää uudelleenkäynnistyksen.
Turvalliset käytännöt
- Run
fluxheim --check-configbefore reloads. - Käytä yhtä vhostia per sivusto tai sovellusraja.
- Pidä secretit tiedostoissa, environmentissa tai container secrets -mekanismissa, ei julkisissa dokumenteissa.
- Pidä määritystiedostot ja kaikki olemassa olevat ylemmät hakemistot luotettujen omistajien hallinnassa, eikä ryhmällä tai muilla käyttäjillä saa olla niihin kirjoitusoikeutta.
- Korvaa prosessi, kun TLS:n, kuuntelijoiden, virtojen, UDP:n, ACME:n, välimuistin tyhjennyksen, jäljityksen tai hallittujen PHP-FPM-prosessien asetukset muuttuvat; tavallinen reititys ja pyyntöaikainen käytäntö voidaan päivittää tilannevedoksen uudelleenlatauksella.
- Käytä route-level limitejä latauksille ja kalliille sovelluspoluille.
- Pidä admin- ja metrics-listenerit yksityisinä.