リバースプロキシ
リバースプロキシは、1つ以上のバックエンドサーバーの代わりにクライアントの要求を受け付け、その要求がどのように処理され配信されるかを管理するネットワーク中間者です。
定義
リバースプロキシは、1つ以上のオリジンウェブサーバーの前に立つサーバーサイドの中間者で、到着するクライアントトラフィックを取得し、適切なバックエンドに転送し、クライアントに応答を再送します。バックエンドインフラストラクチャを抽象化し、サーバーの詳細を直接公開することなく、スケーラビリティ、セキュリティ、信頼性を向上させます。トラフィックフローを管理することで、複数のサーバー間で負荷をバランスし、コンテンツをキャッシュしてより迅速な配信を可能にし、セキュリティポリシーを強制します。リバースプロキシは、ウェブインフラストラクチャ、CDN、および企業システムで広く使用され、パフォーマンスを最適化し、オリジンサーバーを直接の攻撃から保護します。この中間役割により、クライアントではなくサーバーの代わりに動作するフォワードプロキシとは区別されます。
メリット
- バックエンドサーバーの詳細を隠し、直接の攻撃を軽減することでセキュリティを向上させます。
- キャッシュとコンテンツ圧縮を通じてパフォーマンスを向上させます。
- 複数のサーバーにトラフィックを分散するロードバランシングを可能にします。
- SSL/TLSのオフロードをサポートし、オリジンサーバーの負荷を軽減します。
- 高トラフィックのアプリケーションやサービスのスケーラビリティを促進します。
デメリット
- 適切に冗長構成されていない場合、単一障害点を導入します。
- 十分なリソースがないとパフォーマンスのボトルネックになる可能性があります。
- より単純なアーキテクチャと比較して、構成とメンテナンスが複雑です。
- TLS終端処理が誤って処理されると暗号化されたトラフィックが公開される可能性があります。
- その範囲外の管理されていないまたはサポートされていないリソースに対しては保護が限られています。
使用例
- サーバークラスターにウェブトラフィックを配分して過負荷を防ぎます。
- ネットワークエッジでのキャッシュによりコンテンツ配信を高速化します。
- DDoSやその他のウェブ攻撃からオリジンサーバーを保護します。
- バックエンドサーバーからSSL/TLS暗号化タスクをオフロードします。
- 統一されたパブリックエンドポイントの裏側でバックエンドサービスを抽象化します。