v1.6.30 — Ultima versione stabile

Memory-safe
Server edge
Scritto in Rust

Reverse proxy modulare, cache, load balancer e host statico scritto in Rust. Sicuro di default con TLS, ACME, compression, edge policy, dynamic upstream discovery e traffic mirroring sicuro.

Rust Core Fluxheim EUPL-1.2 x86_64 Linux ARM64 Linux macOS sviluppo Container 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"]

Tutto ciò che serve sull'edge

Fluxheim viene distribuito come build focalizzate e modulari: usa solo ciò che serve al tuo deployment.

Memory-safe by design

Scritto in Rust con toolchain stabile fissata. Nessun buffer overflow, use-after-free o data race per costruzione.

Core HTTP Fluxheim

Runtime edge Rust-native con connection pooling, upstream retry, health check attivi, HTTP/2, upgrade WebSocket e gRPC pass-through.

Control plane del load balancer

Binary e image load-balancer 1.5 focalizzati con advanced selection, persistenza locale, health/ejection policy, code bounded e runtime member controls.

Profili build modulari

Compila solo ciò che ti serve. Profili focalizzati per sito statico, cache edge, reverse proxy, load balancing, TCP stream proxying, PHP-FPM, GeoIP, traffic mirroring e bundle production con compression.

TLS e ACME gestito

Approccio rustls-first con percorsi build OpenSSL e FIPS/ISO supportati, client certificate auth, upstream mTLS, emissione ACME automatica e multi-cert SNI.

Sistema cache avanzato

Backend cache memory, disk, tiered ed encrypted con compression gzip, Zstandard e Brotli cache-safe più range caching per oggetti grandi.

Nativo per container

Image Podman rootless per Wolfi, Alpine, SUSE Micro e Debian. Systemd/RPM per deployment nativi. Nessun asset esterno all'avvio.

Prometheus e OpenTelemetry

Listener metrics Prometheus opt-in, export OTLP metrics, propagazione trace context ed export OTLP trace per observability completa.

GeoIP / Geo-contesto

Lookup MMDB locali opzionali per policy paese e ASN con dataset MaxMind GeoIP2/GeoLite2 o CIRCL Geo Open. Nessun lookup remoto o downloader nel request path.

TCP stream proxy

Servizi TCP L4 raw con stream route dedicate, veri cap idle/lifetime/byte, controlli upstream TLS/mTLS, policy weighted/drain/backup e PROXY protocol locale alla route.

Supporto PHP-FPM

Bridge PHP-FPM FastCGI opt-in per applicazioni front-controller stile WordPress. Risoluzione script rigorosa e gestione request bounded.

Controlli edge policy

ACL trusted-proxy-aware, rate limit, auth subrequest, traffic mirroring, regex rewrite, code bounded, config validation rigorosa e request handling hardened.

Avvio in pochi minuti

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

bash
# Scarica ed estrai la build completa
curl -L https://github.com/valkyoth/fluxheim/releases/download/v1.6.30/fluxheim-1.6.30-full-x86_64-linux.tar.gz \
  | tar xz

# Sposta il binario nel percorso di sistema
sudo mv fluxheim /usr/local/bin/

# Valida la configurazione prima di avviare
fluxheim --check-config --config /etc/fluxheim/fluxheim.toml

# Esegui con systemd (unit file incluso)
sudo systemctl enable --now fluxheim
bash
# Scarica da GHCR o Quay
podman pull ghcr.io/valkyoth/fluxheim:v1.6.30
podman pull quay.io/valkyoth/fluxheim:v1.6.30

# Esegui rootless con la tua configurazione montata
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

# Varianti image disponibili: full, load-balancer, cache, proxy, php
bash
# Clona e compila il profilo predefinito
git clone https://github.com/valkyoth/fluxheim
cd fluxheim

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

# Oppure compila un profilo mirato
cargo build --release --no-default-features \
  --features profile-proxy-edge,acme-client

# Valida la configurazione ed esegui
cargo run --release -- \
  --check-config --config examples/fluxheim.toml

Perché Fluxheim?

Creato per operatori che vogliono uno stack moderno e auditabile senza comportamento legacy nascosto.

Nessun fallback legacy nascosto

La config validation è rigorosa. Opzioni ambigue o insicure vengono rifiutate, non accettate in silenzio.

Cargo.lock incluso

Build riproducibili. Ogni dependency è fissata. cargo audit and cargo deny run in CI.

Container rootless-first

Esegui senza root. Porte interne 8080/8443 di default. Image runtime esplicite per policy operative diverse.

Open source EUPL-1.2

Licenza copyleft compatibile con molte licenze OSS. Origine UE, chiara legalmente per uso governativo ed enterprise.

Panoramica

Uno sguardo a come appare Fluxheim in un deployment production.

Panoramica architettura Fluxheim
Italiano