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.
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"]
Fluxheim se entrega como builds enfocados y modulares: usa solo lo que necesita tu despliegue.
Escrito en Rust con una toolchain estable fijada. Sin buffer overflows, sin use-after-free y sin data races por construcción.
Un runtime edge nativo en Rust con connection pooling, upstream retries, active health checks, HTTP/2, WebSocket upgrades y gRPC pass-through.
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.
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.
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.
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.
Imágenes Podman rootless para Wolfi, Alpine, SUSE Micro y Debian. Systemd/RPM para despliegues nativos. Cero assets externos al arrancar.
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.
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.
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.
Puente PHP-FPM FastCGI opcional para aplicaciones front-controller estilo WordPress. Resolución estricta de scripts y manejo acotado de requests.
ACLs aware de trusted proxy, rate limits, auth subrequests, traffic mirroring, regex rewrites, colas acotadas, validación estricta de config y request handling endurecido.
Download a pre-built binary, drop in a config file, and start serving. Native systemd units and container images included.
# 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
# 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
# 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
Construido para operadores que quieren un stack moderno y auditable sin comportamiento legacy oculto.
La validación de config es estricta. Las opciones ambiguas o inseguras se rechazan, no se aceptan en silencio.
Builds reproducibles. Cada dependencia está fijada. cargo audit and cargo deny run in CI.
Ejecuta sin root. Puertos internos 8080/8443 por defecto. Imágenes runtime explícitas para distintas políticas operativas.
Licencia copyleft compatible con muchas licencias OSS. Originada en la UE y jurídicamente clara para gobierno y empresa.
Un vistazo a cómo se ve Fluxheim en un despliegue de producción.