メインコンテンツまでスキップ
バージョン: 0.0.1(未リリース)

BeaRust とは?

BeaRust は Rust で構築され、単一の Docker Compose スタックとして配布される、オープンソースのリバース プロキシ、ロードバランサー、Web アプリケーションファイアウォール(WAF)です。

一言で言えば、Docker Compose コマンド1つでインストールでき、ブラウザベースの UI から管理でき、日 常的な変更のために設定ファイルを掘り下げる必要もありません。その手軽さの裏には、複数のアルゴリズムを持 つ本格的なロードバランサー、組み込みの WAF、IP・ボットセキュリティ、レート制限、トラフィック分析、そし て無料のマルチノードクラスタリングが備わっています。BeaRust の Rust 製データプレーンは、多くの人がこの 種のソフトウェアに Rust を選ぶのと同じ理由で採用されています — ガベージコレクタをリクエストパスに挟まな い、予測可能なパフォーマンスとメモリ安全性のためです。

実際に動いているもの

BeaRust は2つのリスナーを持つ単一プロセスとして動作します。Rust 製のデータプレーン(Pingora ベース)が HTTP/1.1 と HTTP/2 のトラフィックを処理します。リクエストのホストとパスをルートに照合し、そのルートの アップストリームプールから健全なバックエンドを選び、リクエストを転送します。Axum 製のコントロールプレー ンは認証済みの管理 API を公開し、同梱のブラウザ UI はその同じ API のクライアントです — 別途動かすべき バックエンドは存在しません。

  • ルーティング: ホストとパスプレフィックスを名前付きアップストリームプールに照合。
  • ロードバランシング: round-robin、least-connections、weighted、IP-hash、adaptive-weight(観測され た応答時間に基づく)、またはカスタムプラグインアルゴリズム。
  • ヘルスチェック: バックエンドごとに TCP または HTTP。
  • プロトコル対応: WebSocket パススルー、ネイティブ TLS、任意の HTTP/3、JSON ログ、グレースフルシャ ットダウン、SIGHUP によるアトミックな設定リロード。
  • 証明書: 認証済みアップロード、または自動 ACME(Let's Encrypt HTTP-01、Cloudflare DNS-01)。

何がオプションで、それがなぜ重要か

セキュリティ機能(WAF、IP ルール、ボット対策、レート制限)、分析、マルチノードクラスタリング、WASM プラグイン、AI アドバイザーはすべて実在しますが、BeaRust が動いているというだけで有効になるものは1つも ありません。それぞれが設定または環境変数によって制御されます — たとえば AI アドバイザーは、プロバイダー の URL と API キーの両方を設定するまで無効のままです。これは意図的な設計です。新規デプロイは小さく予測 可能なプロキシとして始まり、どこまで機能を深めるかはあなたが決めます。デフォルトで有効なものとオプショ ンなものについては 機能ステータス を、各サブシステムがどこで動作するかについては アーキテクチャ を、計画中だがまだ実装されていないものについては ロードマップ を参照してください。

はじめる

  1. BeaRust をインストール — クイックスタートはソースのチェックアウ ト不要で、公開済みの Docker イメージだけで済みます。
  2. 最初の管理者を作成
  3. アップストリームプールとルートを定義

デフォルトでは、データプレーンはアプリケーショントラフィック用に 8080 で待ち受け、コントロール API と UI は 8081 で待ち受けますが、自分で明示的にアクセス層の背後に置くまでは 127.0.0.1 のみに公開されます。