Configuration Basics

Fluxheim користи TOML. Непозната поља се одбијају, па типфелери падају прије restarta.

Главни облик

[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-а.

Како је цонфиг организиран

ПодручјеШто тамо припада
serverListeners, global limits, trusted proxy handling, and redirects.
tlsГлобална TLS backend и compatibility policy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus и експорт листенер за оперативну vidljivost.

Облик роуте

[[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 има један matcher и једну action вредност. Exact path побеђује први, затим најдужи prefix, затим regex route када је regex support укључен, па fallback route.

Безбедност 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-DigestRFC 9530 SHA-256 над коначним садржајем HTTP поруке након компресије.
Repr-DigestSHA-256 само када Fluxheim држи потпуну изабрану репрезентацију.

Снимци уживо и враћање

Овјерени снимци могу објавити валидираног кандидата, замијенити активни рутер и вратити се без поновног покретања уобичајених имплементација само за рутирање. Сваки захтев остаје на једној генерацији рутера од почетка до краја.

  • Чувајте складиште снимака у наменском приватном директоријуму; постојећи не-приватни директоријуми и корени система датотека су одбијени.
  • Користите надоградњу процеса када су активни сервиси здравља или откривања балансера оптерећења у позадини.
  • Покрените проверу интегритета снимака након објављивања или враћања и проверите да ли је изабрана генерација преживела поновно покретање.
Прочитајте комплетан уговор о снимку

Сигурне навике

  • Run fluxheim --check-config before reloads.
  • Користи један вхост по сите или апплицатион boundary.
  • Држи сецрет у file, енвиронмент или цонтаинер сецретс, не у публиц docs.
  • Држите 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.
  • Користи роуте-левел лимите за уплоад и скупе апплицатион path.
  • Држи admin и metrics listener приватнима.
Српски