Configuration Basics
Fluxheim выкарыстоўвае TOML. Unknown fields адхіляюцца, таму памылкі spelling fail перад restart.
Асноўная форма
[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"
[[vhosts]]
name = "site"
hosts = ["example.com"]
Для multi-tenant deployments уключыце [server.host_routing].strict = true: адсутная або нядзейсная host identity верне 400, а невядомыя hosts — 421 замест пераходу да default site.
Як організовано config
| Область | Що належить сюди |
|---|---|
server | Listeners, global limits, trusted proxy handling, and redirects. |
tls | Global TLS backend і compatibility палітыка. |
cache | Process-wide cache defaults and storage tiers. |
vhosts | Hostnames, routes, web roots, proxy settings, PHP, TLS, and access policy. |
metrics | Prometheus і export listeners для operational visibility. |
Форма маршруту
[[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"]
Маршрут мае адну ўмову супастаўлення і адно дзеянне. Спачатку выбіраецца дакладны шлях, затым самы доўгі прэфікс, пасля яго маршруты з рэгулярнымі выразамі, калі яны ўключаны, і нарэшце адзін рэзервовы маршрут.
Бяспека адказу HTTP
Профілі бяспекі адказу HTTP неабавязковыя. Пачаць з baseline; выкарыстоўвайце ізаляцыю паміж крыніцамі толькі пасля тэставання кожнага сцэнарыя, шрыфта, выявы, працэсу ўваходу і ўбудаванага рэсурсу.
[headers.response.hardening]
profile = "baseline"
| Профіль | Што ён робіць |
|---|---|
off | Захоўвае адключанымі загалоўкі ўмацавання выбару. |
baseline | Дадае асцярожную ізаляцыю браўзера і налады па змаўчанні палітыкі рэсурсаў, прыдатныя для большасці сайтаў. |
cross-origin-isolated | Уключае строгую ізаляцыю паміж крыніцамі для прыкладанняў, якія пратэставалі ўсе знешнія залежнасці. |
Ні адзін профіль не ўключае HSTS або CSP. Наладзьце іх асобна пасля тэставання на рэальным сайце.
Метададзеныя адказу на аснове стандартаў
Метададзеныя адказу адключаны па змаўчанні. Уключыце толькі тыя палі, якія вам патрэбныя; Fluxheim атрымлівае іх з фактычнага выніку кэша, збою проксі і канчатковых байтаў адказу без раскрыцця ключоў кэша, бэкэнд-адрасоў, імёнаў DNS або неапрацаваных памылак.
[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
| Палявы | Пра што паведамляе |
|---|---|
Cache-Status | Вынікі кэшавання RFC 9211, такія як трапленне, промах, састарэлая пераадрасацыя, паўторная праверка, заканчэнне тэрміну дзеяння і абыход. |
Proxy-Status | RFC 9209 дэталі з нізкай магутнасцю для збояў, створаных Fluxheim. |
Content-Digest | RFC 9530 SHA-256 над канчатковым зместам паведамлення HTTP пасля сціску. |
Repr-Digest | SHA-256 толькі тады, калі Fluxheim змяшчае поўнае выбранае прадстаўленне. |
Жывыя здымкі і адкат
Аўтэнтыфікаваныя здымкі могуць апублікаваць пацверджанага кандыдата, замяніць актыўны маршрутызатар і зрабіць адкат без перазапуску звычайных разгортванняў толькі з маршрутызацыяй. Кожны запыт застаецца на адным пакаленні маршрутызатара ад пачатку да канца.
- Захоўвайце сховішча здымкаў у спецыяльным прыватным каталогу; існуючыя непрыватныя каталогі і карані файлавай сістэмы адхіляюцца.
- Выкарыстоўвайце абнаўленне працэсу, калі фонавая служба балансіроўкі нагрузкі спраўнасці або выяўлення актыўныя.
- Запусціце праверку цэласнасці здымка пасля публікацыі або адкату і пераканайцеся, што абранае пакаленне вытрымае перазапуск.
Бяспечныя звычкі
- Run
fluxheim --check-configbefore reloads. - Выкарыстоўвайце адзін vhost на сайт або application boundary.
- Трымайце сакрэты ў файлах, environment або container secrets, не ў публічнай дакументацыі.
- Захоўвайце config files і ўсе існыя parent directories пад надзейнай ownership і без права запісу для group або іншых users.
- Замяняйце process пасля змен TLS, listeners, streams, UDP, ACME, cache purging, tracing або managed PHP-FPM process settings; звычайны routing і request-time policy могуць выкарыстоўваць snapshot reload.
- Выкарыстоўвайце абмежаванні на ўзроўні маршруту для загрузак і рэсурсаёмістых шляхоў праграмы.
- Keep admin і метрыки listeners прыватны.