リバースプロキシとは?
リバースプロキシとは、クライアント(ウェブブラウザなど)と、ウェブサイトやウェブアプリをホストするバックエンドサーバとの中間的な役割を果たすサーバです。 クライアントからの要求を受け取り、適切なサーバーに渡します。 サーバーが応答すると、リバースプロキシはその応答をクライアントに送り返します。 例えば、あなたがURLを入力すると、リバースプロキシはウェブサイトのサーバーからページを取得し、あなたのブラウザに表示する。 それは一瞬の出来事ですが、リバースプロキシは裏側で動作しています。
リバースプロキシの仕組み
- ウェブブラウザのようなクライアントがウェブページやリソースに対するリクエストを送信すると、まずリバースプロキシサーバに送られます。
- リバースプロキシはリクエストをレビューし、どのバックエンドサーバがそのリクエストを処理すべきかを決定します。 そして、リクエストをそのサーバーに転送します。
- バックエンドサーバーはリクエストを処理し、リクエストされたウェブページまたはリソースを取得し、プロキシサーバーにレスポンスを送り返します。
- 最後に、リバースプロキシはバックエンドサーバからの応答を受け取り、最初のリクエストを行ったクライアントにそれを転送します。 それは、あなたがリクエストしたウェブページやリソースが表示されたときです。
リバースプロキシ機能の例
- ロードバランシング: リバースプロキシは、受信したリクエストを複数のサーバーに均等に分散し、システムがスムーズに稼働するようにします。
- SSL/TLSの終了: リバースプロキシは暗号化と復号を処理し、この作業をバックエンドサーバーから引き受けることで、システムの効率を向上させます。
- Webアプリケーションファイアウォール(WAF): WAFはリバースプロキシを利用して、受信するWebトラフィックを検査し、バックエンドサーバーに到達する前に潜在的な脅威をブロックします。
- APIゲートウェイ: リバースプロキシはAPIゲートウェイとして機能し、受信したAPIリクエストをバックエンドサービスへルーティングし管理することができます。