Cで書かれた、高性能なWebサーバー、リバースプロキシ、ロードバランサー、APIゲートウェイ、コンテンツキャッシュ。
- スター
- 2,181
- フォーク
- 96
- 未解決の Issue
- 76
- 最終コミット
- 一昨日
これは何?
Ferronは、Rustで書かれたWebサーバーです。静的ファイルを配信し、リバースプロキシとしても動作します。設定ファイルは短く読みやすく、サイトやプロキシのルートを数行で定義できます。どちらの用途にも同じ構文を使えます。
TLS証明書は自動で発行・更新されます。Ferronは可観測性を重視しており、リクエスト処理の各レイヤーをトレースして関連するログエントリーと紐づけます。また、ログファイル内でトレースIDを検索し、個々のリクエストを追跡できます。
FerronはLinux向けのインストールスクリプト付きビルド済みバイナリとして配布されており、Cargoでソースからビルドすることもできます。CLIには、サーバーの起動、起動せずに設定を検証、設定をJSONに変換、Unixデーモンとして実行するコマンドが含まれています。Dockerイメージも公開されています。
主な機能
- 01Webサイトやリバースプロキシ向けの、簡潔で読みやすい設定。
- 02TLS証明書の自動発行と更新。
- 03ログエントリーと紐づき、トレースIDで検索できるリクエストトレース。
- 04設定の検証や変換に使える組み込みCLIコマンド。
- 05Linux、Windows、Debian/RPM向けのビルド済みパッケージとDockerイメージ。
ユースケース
- 自動HTTPS対応で静的Webサイトを配信する。
- 内部APIサービスの前段にリバースプロキシを置く。
- トレースをログまでたどって本番環境のリクエストをデバッグする。
クイックスタート
- 1
公式インストーラースクリプトを使ってLinuxにFerronをインストールします(READMEから実行してください。パイプで実行するインストーラーはここでは再掲していません)
- 2
GitHubからリポジトリをクローンし、develop-3.xブランチに切り替えます
git clone https://github.com/ferronweb/ferron -b develop-3.x - 3
サブモジュールを初期化し、ワークスペースをビルドします
cd ferron && git submodule update --init --recursive && cargo build --workspace - 4
設定ファイルを指定してサーバーを起動します
cargo run -p ferron -- run -c ferron.conf
使う前に知っておきたいこと
- ビルド済みインストーラーが提供されているのはLinuxのみです。他のプラットフォームではソースからビルドする必要があります。
- このプロジェクトはdevelop-3.x系列のため、デフォルトブランチはこのバージョンのドキュメントと一致しない場合があります。
収録されている特集
トピック
よくある質問
- ferron とは?
- コンパクトな設定、自動TLS、ログと紐づくリクエスト単位のトレースを備えた、静的サイト配信とリバースプロキシ向けのRust製Webサーバー。 Ferronは、Rustで書かれたWebサーバーです。静的ファイルを配信し、リバースプロキシとしても動作します。設定ファイルは短く読みやすく、サイトやプロキシのルートを数行で定義できます。どちらの用途にも同じ構文を使えます。
- ferron は無料で使えますか?ライセンスは?
- ferron は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ferron は今もメンテナンスされていますか?
- 活発にメンテナンス中。ferron の最終コミットは 2026年10月23日 です。
- ferron は何に使えますか?
- 自動HTTPS対応で静的Webサイトを配信する。 内部APIサービスの前段にリバースプロキシを置く。 トレースをログまでたどって本番環境のリクエストをデバッグする。
- ferron のインストール方法は?
- 公式インストーラースクリプトを使ってLinuxにFerronをインストールします(READMEから実行してください。パイプで実行するインストーラーはここでは再掲していません) GitHubからリポジトリをクローンし、develop-3.xブランチに切り替えます: git clone https://github.com/ferronweb/ferron -b develop-3.x サブモジュールを初期化し、ワークスペースをビルドします: cd ferron && git submodule update --init --recursive && cargo build --workspace 設定ファイルを指定してサーバーを起動します: cargo run -p ferron -- run -c ferron.conf
- ferron はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/ferronweb/ferron
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
CaddyはGo製の拡張可能なWebサーバーで、HTTP/1.1、HTTP/2、HTTP/3を提供し、デフォルトでHTTPSを自動的に有効化します。
WSGI上に構築された、単体でも他のWSGIアプリに組み込んでも実行できる、汎用的で拡張可能なPython製WebDAVサーバーです。
ブロッキングソケットI/OでHTTP/HTTPSサーバーとクライアントを構築できる、C++11対応のシングルヘッダーライブラリ。
Node.jsでWebアプリやHTTP APIを構築するための、高速で自由度の高いミニマルなWebフレームワーク。
connectスタイルのミドルウェアでリクエストとレスポンスを処理する、REST API構築用のNode.jsフレームワークです。