Fluxheim/Документация/Configuration Basics

Configuration Basics

Fluxheim използва TOML. Непознати полета се отхвърлят, така че правописни грешки падат преди restart.

Основна форма

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

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

При multi-tenant внедрявания активирайте [server.host_routing].strict = true, така че липсваща или невалидна host идентичност да връща 400, а неизвестните hosts да връщат 421 вместо сайта по подразбиране.

Как е организиран config

ОбластКакво принадлежи там
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 и export listener-и за operational visibility.

Форма на 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 има един 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-StatusRFC 9209 подробности с ниска кардиналност за повреди, генерирани от Fluxheim.
Content-DigestRFC 9530 SHA-256 върху окончателното HTTP съдържание на съобщение след компресиране.
Repr-DigestSHA-256 само когато Fluxheim съдържа пълното избрано представяне.

Моментни снимки на живо и връщане назад

Удостоверените моментни снимки могат да публикуват валидиран кандидат, да заменят активния рутер и да се върнат назад, без да рестартират нормални внедрявания само за маршрутизиране. Всяка заявка остава на едно генериране на рутер от началото до края.

  • Съхранявайте хранилището за моментни снимки в специална частна директория; съществуващите нечастни директории и корени на файловата система се отхвърлят.
  • Използвайте надграждане на процеса, когато са активни услугите за изправност или откриване на фоново балансиране на натоварването.
  • Изпълнете проверки за цялост на моментна снимка след публикуване или връщане назад и проверете дали избраното поколение оцелява при рестартиране.
Прочетете пълния договор за моментна снимка

Сигурни навици

  • Run fluxheim --check-config before reloads.
  • Използвай един vhost за site или application boundary.
  • Дръж secret-и във file, environment или container secrets, не в public docs.
  • Съхранявайте конфигурационните файлове и всяка съществуваща родителска директория под доверена собственост и без права за запис от групата или други потребители.
  • Заменете процеса при промяна на настройки за TLS, listeners, streams, UDP, ACME, изчистване на cache, tracing или управлявания PHP-FPM процес; обикновеното маршрутизиране и правилата по време на заявка могат да използват презареждане на snapshot.
  • Използвай route-level лимити за upload и скъпи application path-ове.
  • Дръж admin и metrics listener-и private.
Български