v1.6.30 — Dernière version stable

Sûr pour la mémoire
Serveur edge
écrit en Rust

Reverse proxy modulaire, cache, équilibreur de charge et hébergeur statique, écrit en Rust. Sécurisé par défaut avec TLS, ACME, compression, politiques edge, découverte dynamique des upstreams et miroir de trafic sûr intégrés.

Rust Noyau Fluxheim EUPL-1.2 x86_64 Linux ARM64 Linux Dév macOS Conteneurs 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"]

Tout ce qu'il faut à l'edge

Fluxheim est livré sous forme de builds ciblés et modulaires — n'utilisez que ce dont votre déploiement a besoin.

Sûr pour la mémoire par conception

Écrit en Rust avec une toolchain stable verrouillée. Pas de dépassement de tampon, pas de use-after-free, pas de data race par construction.

Noyau HTTP Fluxheim

Un runtime edge natif Rust avec pool de connexions, reprises upstream, contrôles de santé actifs, HTTP/2, mises à niveau WebSocket et passage gRPC.

Plan de contrôle de l'équilibreur de charge

Binaire et image load-balancer 1.5 ciblés avec sélection avancée, persistance locale, politiques de santé/éjection, files bornées et contrôles de membres à l'exécution.

Profils de build modulaires

Compilez seulement ce dont vous avez besoin. Profils ciblés pour site statique, cache edge, reverse proxy, équilibrage de charge, proxy de flux TCP, PHP-FPM, GeoIP, miroir de trafic et bundles de production avec compression.

TLS & ACME géré

rustls d'abord, avec chemins de build OpenSSL et FIPS/ISO pris en charge, authentification par certificat client, mTLS upstream, émission ACME automatique et SNI multi-certificats.

Système de cache avancé

Backends de cache mémoire, disque, hiérarchisés et chiffrés avec compression gzip, Zstandard et Brotli compatible cache, plus cache par plages pour les grands objets.

Natif conteneur

Images Podman rootless pour Wolfi, Alpine, SUSE Micro et Debian. Systemd/RPM pour les déploiements natifs. Aucun asset externe au démarrage.

Prometheus & OpenTelemetry

Listener de métriques Prometheus optionnel, export OTLP des métriques, propagation du contexte de trace et export OTLP des traces pour une observabilité complète.

GeoIP / Geo-Contexte

Lookups MMDB locaux optionnels pour les politiques pays et ASN avec les jeux de données MaxMind GeoIP2/GeoLite2 ou CIRCL Geo Open. Aucun lookup distant ni téléchargeur dans le chemin de requête.

Proxy de flux TCP

Services TCP L4 bruts avec routes de flux dédiées, limites réelles d'inactivité, de durée de vie et d'octets, contrôles TLS/mTLS upstream, politiques pondérées/drain/secours et protocole PROXY local à la route.

Support PHP-FPM

Bridge PHP-FPM FastCGI optionnel pour les applications front-controller de style WordPress. Résolution stricte des scripts et traitement borné des requêtes.

Contrôles de politique edge

ACL tenant compte des proxys de confiance, limites de débit, sous-requêtes d'authentification, miroir de trafic, réécritures regex, files bornées, validation stricte de configuration et traitement renforcé des requêtes.

Démarrez en quelques minutes

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

bash
# Télécharger et extraire le build complet
curl -L https://github.com/valkyoth/fluxheim/releases/download/v1.6.30/fluxheim-1.6.30-full-x86_64-linux.tar.gz \
  | tar xz

# Déplacer le binaire dans le chemin système
sudo mv fluxheim /usr/local/bin/

# Valider la configuration avant le démarrage
fluxheim --check-config --config /etc/fluxheim/fluxheim.toml

# Exécuter avec systemd (fichier d'unité inclus)
sudo systemctl enable --now fluxheim
bash
# Tirer depuis GHCR ou Quay
podman pull ghcr.io/valkyoth/fluxheim:v1.6.30
podman pull quay.io/valkyoth/fluxheim:v1.6.30

# Exécuter rootless avec la configuration montée
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 d'image disponibles : full, load-balancer, cache, proxy, php
bash
# Cloner et compiler le profil par défaut
git clone https://github.com/valkyoth/fluxheim
cd fluxheim

# Build par défaut (proxy + web + cache + tls-rustls + security)
cargo build --release

# Ou compiler un profil ciblé
cargo build --release --no-default-features \
  --features profile-proxy-edge,acme-client

# Valider la configuration et lancer
cargo run --release -- \
  --check-config --config examples/fluxheim.toml

Pourquoi Fluxheim ?

Conçu pour les opérateurs qui veulent une pile moderne et auditable sans comportement legacy caché.

Aucun fallback legacy caché

La validation de configuration est stricte. Les options ambiguës ou non sûres sont rejetées, pas acceptées silencieusement.

Cargo.lock versionné

Builds reproductibles. Chaque dépendance est verrouillée. cargo audit and cargo deny run in CI.

Conteneurs rootless-first

Exécution sans root. Ports internes 8080/8443 par défaut. Images runtime explicites pour différentes politiques opérationnelles.

Open source EUPL-1.2

Licence copyleft compatible avec de nombreuses licences OSS. Origine UE, juridiquement claire pour les usages gouvernementaux et d'entreprise.

Vue d'ensemble

Un aperçu de Fluxheim dans un déploiement de production.

Vue d'ensemble de l'architecture Fluxheim
Français