Ferron:Rustで書かれた新しいメモリ安全なWebサーバーが既存の競合に対して有望性を示す

BigGo Editorial Team
Ferron:Rustで書かれた新しいメモリ安全なWebサーバーが既存の競合に対して有望性を示す

Webサーバー技術の競争が激しい環境において、新たな挑戦者が登場しました。 Rust で書かれたWebサーバー Ferron は、そのメモリ安全性機能とパフォーマンスの主張により、開発者コミュニティで注目を集めています。Webインフラの需要が進化し続ける中、コミュニティはこの新参者が Caddy や Nginx のような確立されたソリューションと比較してどのように評価されるかを検討しています。

初期テストでメモリ効率が際立つ

プロジェクト作成者が共有した初期ベンチマークでは、一部の競合と比較して印象的なメモリ効率が示されています。HTTPSとHTTP/2の両方が有効化され、Apacheのhttpdデフォルトページを提供するテストでは、 Ferron は Caddy 2.9.1 よりもメモリ使用量で優れていると報告されています。開発者によると、 Caddy は非常に多くのメモリを使用したため、1秒あたり12,600リクエストの時点で16GB RAMのシステムがメモリ不足になったのに対し、 Ferron はそれほどメモリを使用せず、1秒あたり20,000リクエストまでベンチマークが成功したとのことです。この効率性は、リソースが制約された環境で Ferron が特に魅力的になる可能性がありますが、一部のコミュニティメンバーは、メモリの問題が Caddy の設計ではなく Go のガベージコレクションに関連している可能性を示唆しています。

Rustの基盤に構築されたセキュリティ機能

Ferron は Rust のメモリ安全性保証を主要な売りとして活用しています。このWebサーバーには、設定可能なリクエストヘッダータイムアウトによる Slowloris 攻撃からの保護など、組み込みのセキュリティ機能が含まれています。この脆弱性について具体的に質問されたとき、開発者は Ferron が使用する HTTP ライブラリ Hyper にはタイマーが設定されていれば、デフォルトで30秒のリクエストヘッダータイムアウトがあると説明しました。 Ferron は Hyper のタイマーを設定してリクエストヘッダータイムアウトを機能させ、Slowloris を軽減します。このセキュリティ基本への注目は、セキュリティ優先の原則でインフラストラクチャを構築する重要性の高まりを反映しています。

Ferron の主な特徴

  • メモリ安全性に焦点を当てた Rust で記述
  • Rust の非同期機能を活用した高性能
  • HTTPS では HTTP/2 と OCSP ステープリングがデフォルトで有効
  • Slowloris 攻撃に対する保護
  • 拡張性のためのモジュラーアーキテクチャ
  • WebSocket リバースプロキシ機能

コンポーネント

  • ferron: メインウェブサーバー
  • ferron-passwd: ハッシュ化されたパスワードを持つユーザーエントリを生成するためのツール

確立されたソリューションとの比較

コミュニティディスカッションでは、 Ferron が Nginx や Caddy のような確立されたWebサーバーとどのように比較されるかについて大きな関心が示されています。一部のユーザーは Ferron を Caddy の潜在的な代替品と見なしており、あるコメンターは次のように述べています:

「これは本当に良い Caddy の代替品です。 Caddy が使用する設定フォーマットは、複雑な設定が読みにくいという点で時々過度に単純化されていると感じます。私の直感では、これはより冗長にならずに、より良くスケールできる可能性があります。」

しかし、他の人々は、21年の開発履歴を持つ Nginx と新しいプロジェクトを比較するのは時期尚早かもしれないと指摘しました。開発者は、ベンチマーク比較から Nginx が除外されたことを認め、これはマーケティング上の理由または比較におけるバイアスによるものかもしれないと述べています。

機能セットとプロジェクトの成熟度

Ferron は、メインのWebサーバーとパスワード生成ツールを含む複数のコンポーネントで構成されています。HTTPSが有効になっている場合、デフォルトで HTTP/2 と OCSP ステープリングをサポートしています。WebRTC 用の DTLS のような特殊なプロトコル(Nginx でさえパッチを通じてのみサポート)はまだサポートしていませんが、WebRTC アプリケーションでシグナリングのための WebSocket リバースプロキシとして機能することができます。

プロジェクトはまだ初期段階にあり、リポジトリは進行中の作業であることを示しています。インストール手順は初期リリースを待っていますが、興味のある開発者は Rust のパッケージマネージャである Cargo を使用してソースからビルドすることができます。

Webサーバー技術が進化し続ける中、 Ferron は重要なインフラストラクチャをメモリ安全な言語で再実装する継続的なトレンドを代表しています。確立されたソリューションの優位性に挑戦するかどうかを予測するには時期尚早ですが、初期のコミュニティの反応は、メモリ安全性とパフォーマンスを優先する代替手段に対する本物の関心があることを示唆しています。

参考: ferronweb/ferron