v1.6.30 — Última versión estable

Seguro para memoria
Servidor edge
Construido en Rust

Reverse proxy modular, caché, balanceador de carga y host estático escrito en Rust. Seguro por defecto con TLS, ACME, compresión, política edge, dynamic upstream discovery y mirroring seguro de tráfico integrados.

Rust Núcleo de Fluxheim EUPL-1.2 x86_64 Linux ARM64 Linux Desarrollo macOS Contenedores rootless
/etc/fluxheim/fluxheim.toml
include_conf_d = false

[server]
listen = ["0.0.0.0:80"]
tls_listen = ["0.0.0.0:443"]
default_vhost = "fluxheim.eu"

[tls]
enabled = true
backend = "rustls"
profile = "intermediate"
min_protocol = "tls1.2"
alpn = "http1-and-http2"
curve_preferences = ["X25519", "CurveP256", "CurveP384"]

[[vhosts]]
name = "fluxheim.eu"
hosts = ["fluxheim.eu"]

[vhosts.tls]
enabled = true

[vhosts.tls.certificate]
cert_path = "/etc/fluxheim/tls/fluxheim.eu/fullchain.pem"
key_path = "/etc/fluxheim/tls/fluxheim.eu/privkey.pem"

[vhosts.web]
root = "/srv/sites/fluxheim.eu"
index_files = ["index.html"]

Todo lo que necesitas en el edge

Fluxheim se entrega como builds enfocados y modulares: usa solo lo que necesita tu despliegue.

Seguro para memoria por diseño

Escrito en Rust con una toolchain estable fijada. Sin buffer overflows, sin use-after-free y sin data races por construcción.

Núcleo HTTP de Fluxheim

Un runtime edge nativo en Rust con connection pooling, upstream retries, active health checks, HTTP/2, WebSocket upgrades y gRPC pass-through.

Plano de control del balanceador

Binario e imagen load-balancer 1.5 enfocados con selección avanzada, persistencia local, política health/ejection, colas acotadas y controles de miembros en runtime.

Perfiles de build modulares

Compila solo lo que necesitas. Perfiles enfocados para static site, cache edge, reverse proxy, load balancing, TCP stream proxying, PHP-FPM, GeoIP, traffic mirroring y bundles de producción con compresión.

TLS y ACME gestionado

rustls-first con rutas de build OpenSSL y FIPS/ISO compatibles, client certificate auth, upstream mTLS, emisión ACME automática y SNI multi-cert.

Sistema de caché avanzado

Backends de caché en memoria, disco, tiered y cifrados con compresión gzip, Zstandard y Brotli segura para caché, además de range caching para objetos grandes.

Nativo para contenedores

Imágenes Podman rootless para Wolfi, Alpine, SUSE Micro y Debian. Systemd/RPM para despliegues nativos. Cero assets externos al arrancar.

Prometheus y OpenTelemetry

Listener opcional de métricas Prometheus, exportación OTLP de métricas, propagación de trace context y exportación OTLP de traces para observability completa.

GeoIP / Geo-contexto

Consultas MMDB locales opcionales para políticas de país y ASN usando MaxMind GeoIP2/GeoLite2 o datasets CIRCL Geo Open. Sin consulta remota ni downloader en el request path.

TCP stream proxy

Servicios TCP L4 raw con stream routes dedicadas, límites reales idle/lifetime/byte, controles upstream TLS/mTLS, política weighted/drain/backup y PROXY protocol local a la ruta.

Soporte PHP-FPM

Puente PHP-FPM FastCGI opcional para aplicaciones front-controller estilo WordPress. Resolución estricta de scripts y manejo acotado de requests.

Controles de política edge

ACLs aware de trusted proxy, rate limits, auth subrequests, traffic mirroring, regex rewrites, colas acotadas, validación estricta de config y request handling endurecido.

En marcha en minutos

Download a pre-built binary, drop in a config file, and start serving. Native systemd units and container images included.

bash
# Descargar y extraer el build completo
curl -L https://github.com/valkyoth/fluxheim/releases/download/v1.6.30/fluxheim-1.6.30-full-x86_64-linux.tar.gz \
  | tar xz

# Mover binario al system path
sudo mv fluxheim /usr/local/bin/

# Validar tu config antes de arrancar
fluxheim --check-config --config /etc/fluxheim/fluxheim.toml

# Ejecutar con systemd (unit file incluido)
sudo systemctl enable --now fluxheim
bash
# Pull desde GHCR o Quay
podman pull ghcr.io/valkyoth/fluxheim:v1.6.30
podman pull quay.io/valkyoth/fluxheim:v1.6.30

# Ejecutar rootless con tu config montada
podman run -d \
  --name fluxheim \
  -p 8080:8080 -p 8443:8443 \
  -v /srv/sites:/srv/sites:ro \
  -v ./fluxheim.toml:/etc/fluxheim/fluxheim.toml:ro \
  ghcr.io/valkyoth/fluxheim:v1.6.30

# Variantes de imagen disponibles: full, load-balancer, cache, proxy, php
bash
# Clonar y construir el perfil default
git clone https://github.com/valkyoth/fluxheim
cd fluxheim

# Build default (proxy + web + cache + tls-rustls + security)
cargo build --release

# O construir un perfil enfocado
cargo build --release --no-default-features \
  --features profile-proxy-edge,acme-client

# Validar config y ejecutar
cargo run --release -- \
  --check-config --config examples/fluxheim.toml

¿Por qué Fluxheim?

Construido para operadores que quieren un stack moderno y auditable sin comportamiento legacy oculto.

Sin fallback legacy oculto

La validación de config es estricta. Las opciones ambiguas o inseguras se rechazan, no se aceptan en silencio.

Cargo.lock incluido

Builds reproducibles. Cada dependencia está fijada. cargo audit and cargo deny run in CI.

Contenedores rootless-first

Ejecuta sin root. Puertos internos 8080/8443 por defecto. Imágenes runtime explícitas para distintas políticas operativas.

Open source EUPL-1.2

Licencia copyleft compatible con muchas licencias OSS. Originada en la UE y jurídicamente clara para gobierno y empresa.

Resumen

Un vistazo a cómo se ve Fluxheim en un despliegue de producción.

Resumen de arquitectura de Fluxheim
Español