v1.8.0 — Последний стабильный выпуск

Безопасность памяти
Edge-сервер
Написан на Rust

Модульный обратный прокси, кеш, балансировщик нагрузки и статический хост, написанный на Rust. Безопасен по умолчанию: TLS, ACME, сжатие, edge-политики, динамическое обнаружение upstream и безопасное зеркалирование трафика.

Rust Ядро Fluxheim EUPL-1.2 x86_64 Linux ARM64 Linux macOS для разработки 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"]

Все нужное на edge-уровне

Fluxheim поставляется как набор целевых модульных сборок - используйте только то, что нужно вашей установке.

Безопасность памяти по замыслу

Написан на Rust с закрепленной стабильной инструментальной цепочкой. Никаких переполнений буфера, use-after-free и гонок данных по конструкции.

HTTP-ядро Fluxheim

Родная для Rust edge-среда выполнения с пулом соединений, повторами upstream, активными проверками здоровья, HTTP/2, обновлениями WebSocket и gRPC pass-through.

WASM-расширения

Отдельная сборка Wasm на основе полного производственного профиля с ограниченными перехватчиками политик, ACME, метриками и OpenTelemetry.

Плоскость управления балансировщиком

Целевая сборка и образ балансировщика 1.5 с расширенным выбором, локальной устойчивостью, политикой health/ejection, ограниченными очередями и управлением участниками во время выполнения.

Модульные профили сборки

Компилируйте только нужное. Есть целевые профили для статического сайта, edge-кеша, обратного прокси, балансировки, TCP stream proxy, PHP-FPM, GeoIP, зеркалирования трафика и production-сборок со сжатием.

TLS и управляемый ACME

Подход rustls-first с поддерживаемыми путями сборки OpenSSL и FIPS/ISO, аутентификацией по клиентскому сертификату, upstream mTLS, автоматической выдачей ACME и multi-cert SNI.

Расширенная система кеша

Backends кеша в памяти, на диске, многоуровневые и зашифрованные, с cache-safe gzip, Zstandard и Brotli compression, а также кешированием диапазонов для крупных объектов.

Родной для контейнеров

Rootless Podman images для Wolfi, Alpine, SUSE Micro и Debian. Systemd/RPM для native-развертываний. Никаких внешних assets при запуске.

Prometheus и OpenTelemetry

Опциональный listener метрик Prometheus, OTLP export метрик, trace context propagation и OTLP trace export для полной наблюдаемости.

GeoIP / Geo-Context политика

Опциональные локальные MMDB lookup для политик по стране и ASN через MaxMind GeoIP2/GeoLite2 или наборы CIRCL Geo Open. В пути запроса нет удаленного lookup или downloader.

TCP Stream Proxy для L4

Сырые L4 TCP services с выделенными stream routes, настоящими idle/lifetime/byte caps, upstream TLS/mTLS controls, weighted/drain/backup policy и route-local PROXY protocol.

Поддержка PHP-FPM

Опциональный PHP-FPM FastCGI bridge для WordPress-подобных front-controller приложений. Строгое разрешение scripts и ограниченная обработка requests.

Контроли edge-политик

ACL с учетом trusted proxy, rate limits, auth subrequests, зеркалирование трафика, regex rewrites, ограниченные очереди, строгая проверка конфигурации и усиленная обработка requests.

Запуск за несколько минут

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

bash
# Скачать и распаковать full build
curl -L https://github.com/valkyoth/fluxheim/releases/download/v1.8.0/fluxheim-1.8.0-full-x86_64-linux.tar.gz \
  | tar xz

# Переместить binary в системный path
sudo mv fluxheim /usr/local/bin/

# Проверить config перед запуском
fluxheim --check-config --config /etc/fluxheim/fluxheim.toml

# Запустить через systemd (unit file включен)
sudo systemctl enable --now fluxheim
bash
# Скачать image из GHCR или Quay
podman pull ghcr.io/valkyoth/fluxheim:v1.8.0
podman pull quay.io/valkyoth/fluxheim:v1.8.0

# Запустить rootless с примонтированной config
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.8.0

# Доступные варианты образов: full, load-balancer, cache, proxy, wasm, php
bash
# Клонировать и собрать default profile
git clone https://github.com/valkyoth/fluxheim
cd fluxheim

# Default build: proxy + web + cache + tls-rustls + security
cargo build --release

# Или собрать focused profile
cargo build --release --no-default-features \
  --features profile-proxy-edge,acme-client

# Проверить config и запустить
cargo run --release -- \
  --check-config --config examples/fluxheim.toml

Почему Fluxheim?

Создан для операторов, которым нужен современный, проверяемый стек без скрытого устаревшего поведения.

Без скрытого fallback на устаревшие протоколы

Проверка конфигурации строгая. Неоднозначные или небезопасные параметры отклоняются, а не принимаются молча.

Cargo.lock в репозитории

Воспроизводимые сборки. Каждая зависимость закреплена. cargo audit and cargo deny run in CI.

Контейнеры с приоритетом rootless

Запуск без root. Внутренние порты по умолчанию 8080/8443. Явные runtime images для разных operational policies.

Open Source под EUPL-1.2

Copyleft-лицензия, совместимая со многими OSS-лицензиями. Имеет европейское происхождение и юридически понятна для государства и enterprise.

Обзор

Короткий взгляд на то, как Fluxheim выглядит в production-развертывании.

Обзор архитектуры Fluxheim
Русский