Rustで書かれたモジュラーreverse proxy、キャッシュ、ロードバランサー、 静的ホストです。TLS、ACME、圧縮、edge policy、 dynamic upstream discovery、安全なtraffic mirroringを備え、安全をデフォルトにします。
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は用途別のモジュラーbuildとして提供され、deploymentに必要なものだけを使えます。
固定されたstable toolchainのRustで書かれています。構造上、buffer overflow、use-after-free、data raceを防ぎます。
connection pooling、upstream retries、active health checks、HTTP/2、WebSocket upgrades、gRPC pass-throughを備えたRust-native edge runtime。
高度な選択、local persistence、health/ejection policy、bounded queueing、runtime member controlsを備えたfocused 1.5 load-balancer binaryとimage。
必要なものだけをコンパイルできます。static site、cache edge、reverse proxy、load balancing、TCP stream proxying、PHP-FPM、GeoIP、traffic mirroring、圧縮つきproduction bundle向けのfocused profileがあります。
rustls-firstで、OpenSSLおよびFIPS/ISO proof build paths、client certificate auth、upstream mTLS、自動ACME発行、multi-cert SNIをサポートします。
memory、disk、tiered、encrypted cache backendsに加え、cache-safe gzip、Zstandard、Brotli compression、大きなobject向けrange cachingを備えます。
Wolfi、Alpine、SUSE Micro、Debian向けRootless Podman images。native deployment向けSystemd/RPM。起動時の外部assetsは不要です。
完全なobservabilityのためのopt-in Prometheus metrics listener、OTLP metrics export、trace context propagation、OTLP trace export。
MaxMind GeoIP2/GeoLite2またはCIRCL Geo Open datasetsを使う、countryおよびASN policy向けの任意のlocal MMDB lookup。request path内のremote lookupやdownloaderはありません。
dedicated stream routes、真のidle/lifetime/byte caps、upstream TLS/mTLS controls、weighted/drain/backup policy、route-local PROXY protocolを備えたraw L4 TCP services。
WordPress型front-controller application向けのopt-in PHP-FPM FastCGI bridge。厳格なscript resolutionとbounded request handlingを備えます。
trusted-proxy-aware ACL、rate limits、auth subrequests、traffic mirroring、regex rewrites、bounded queues、厳格なconfig validation、hardened request handling。
Download a pre-built binary, drop in a config file, and start serving. Native systemd units and container images included.
# full image image buildをダウンロードして展開
curl -L https://github.com/valkyoth/fluxheim/releases/download/v1.6.30/fluxheim-1.6.30-full-x86_64-linux.tar.gz \
| tar xz
# binaryをsystem pathへ移動
sudo mv fluxheim /usr/local/bin/
# 起動前にconfigを検証
fluxheim --check-config --config /etc/fluxheim/fluxheim.toml
# systemdで実行(unit file同梱)
sudo systemctl enable --now fluxheim
# GHCRまたはQuayからpull
podman pull ghcr.io/valkyoth/fluxheim:v1.6.30
podman pull quay.io/valkyoth/fluxheim:v1.6.30
# configをmountしてrootless実行
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
# 利用可能なimage variants: full, load-balancer, cache, proxy, php
# cloneしてdefault profileをbuild
git clone https://github.com/valkyoth/fluxheim
cd fluxheim
# default build(proxy + web + cache + tls-rustls + security)
cargo build --release
# またはfocused profileをbuild
cargo build --release --no-default-features \
--features profile-proxy-edge,acme-client
# configを検証して実行
cargo run --release -- \
--check-config --config examples/fluxheim.toml
隠れたlegacy behaviorのない、現代的で監査しやすいstackを求めるoperator向けに作られています。
config validationは厳格です。曖昧または安全でないoptionは黙って受け入れず、拒否されます。
再現可能なbuild。すべてのdependencyが固定されています。 cargo audit and cargo deny run in CI.
rootなしで実行します。内部portはデフォルトで8080/8443です。運用policyごとに明示的なruntime imageがあります。
多くのOSSライセンスと互換性のあるcopyleft license。EU発で、政府やenterprise利用にも法的に明確です。
production deploymentでFluxheimがどのように見えるかを一目で確認できます。