Fluxheim/Documentos/Configuration Basics

Configuration Basics

Fluxheim usa TOML. Los campos desconocidos se rechazan, así que los errores de escritura fallan antes del reinicio.

Forma principal

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

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

En despliegues multiinquilino, active [server.host_routing].strict = true para que una identidad de host ausente o no válida devuelva 400 y los hosts desconocidos devuelvan 421, en lugar de llegar al sitio predeterminado.

Cómo se organiza la config

ÁreaQué pertenece ahí
serverListeners, global limits, trusted proxy handling, and redirects.
tlsBackend TLS global y política de compatibilidad.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus y export listeners para visibilidad operativa.

Forma de 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"]

Una route tiene un matcher y una action. Exact paths ganan primero, luego prefixes más largos, luego regex routes cuando regex support está activo, y finalmente una fallback route.

Seguridad de respuesta HTTP

Los perfiles de seguridad de respuesta HTTP son opcionales. Comience con baseline; use el aislamiento entre orígenes solo después de probar cada secuencia de comandos, fuente, imagen, flujo de inicio de sesión y recurso integrado.

[headers.response.hardening]
profile = "baseline"
Perfilque hace
offMantiene deshabilitados los encabezados de refuerzo opcionales.
baselineAgrega aislamiento conservador del navegador y valores predeterminados de política de recursos adecuados para la mayoría de los sitios.
cross-origin-isolatedPermite un aislamiento estricto entre orígenes para aplicaciones que han probado todas las dependencias externas.

Ninguno de los perfiles habilita HSTS o CSP. Configúrelos por separado después de probarlos en el sitio real.

Metadatos de respuesta basados en estándares

Los metadatos de respuesta están deshabilitados de forma predeterminada. Habilite sólo los campos que necesite; Fluxheim los deriva del resultado de la caché real, la falla del proxy y los bytes de respuesta final sin exponer claves de caché, direcciones de backend, nombres DNS o errores sin formato.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
campolo que informa
Cache-StatusResultados de caché RFC 9211 como acierto, error, reenvío obsoleto, revalidación, caducidad y omisión.
Proxy-StatusRFC 9209 detalles de baja cardinalidad para fallas generadas por Fluxheim.
Content-DigestRFC 9530 SHA-256 sobre el contenido final del mensaje HTTP después de la compresión.
Repr-DigestSHA-256 solo cuando Fluxheim contiene la representación seleccionada completa.

Instantáneas en vivo y reversión

Las instantáneas autenticadas pueden publicar un candidato validado, reemplazar el enrutador activo y revertir sin reiniciar las implementaciones normales de solo enrutamiento. Cada solicitud permanece en una generación de enrutadores de principio a fin.

  • Mantenga el almacén de instantáneas en un directorio privado dedicado; Se rechazan los directorios no privados existentes y las raíces del sistema de archivos.
  • Utilice una actualización de proceso cuando los servicios de descubrimiento o estado del balanceador de carga en segundo plano estén activos.
  • Ejecute comprobaciones de integridad de instantáneas después de la publicación o reversión y verifique que la generación seleccionada sobreviva al reinicio.
Lea el contrato instantáneo completo

Hábitos seguros

  • Run fluxheim --check-config before reloads.
  • Usa un vhost por sitio o límite de aplicación.
  • Mantén secrets en archivos, entorno o container secrets, no en docs públicos.
  • Mantenga los archivos de configuración y todos los directorios superiores existentes bajo una propiedad de confianza y sin permisos de escritura para el grupo ni para otros usuarios.
  • Sustituya el proceso cuando cambien TLS, los listeners, los streams, UDP, ACME, el purgado de caché, el trazado o la configuración de procesos PHP-FPM gestionados; el enrutamiento ordinario y las políticas aplicadas durante la solicitud pueden usar una recarga de instantánea.
  • Usa límites a nivel de route para uploads y paths de aplicación caros.
  • Mantén privados los listeners de admin y metrics.
Español