リバースプロキシ

クライアントとサーバーの間に位置し、リクエストを中継・制御するサーバー

インフラネットワーク

リバースプロキシとは

リバースプロキシは、クライアントとバックエンドサーバーの間に位置し、リクエストを中継・制御するサーバーである。Nginx、CloudFront、API Gateway がリバースプロキシとして機能する。

フォワードプロキシ vs リバースプロキシ

観点 フォワードプロキシ リバースプロキシ
位置 クライアント側 サーバー側
目的 クライアントの匿名化 サーバーの保護
企業の Web フィルタ CloudFront, Nginx
フォワード: クライアント → [プロキシ] → インターネット → サーバー
リバース:   クライアント → インターネット → [プロキシ] → サーバー

リバースプロキシの機能

機能 説明 AWS サービス
ロードバランシング リクエストを複数サーバーに分散 ALB
SSL 終端 HTTPS を処理、バックエンドは HTTP CloudFront, ALB
キャッシュ レスポンスをキャッシュ CloudFront
圧縮 gzip/brotli 圧縮 CloudFront
WAF 攻撃トラフィックをブロック AWS WAF
パスルーティング パスに応じてバックエンドを切り替え CloudFront, ALB

CloudFront が /api/* を API Gateway に、それ以外を S3 にルーティング。クライアントからは 1 つのドメインに見える。

サーバーレスでのリバースプロキシ

サーバーレスでは Nginx を自前で運用する必要がない。従来の Nginx は CloudFront、HAProxy は ALB、Apache は API Gateway がそれぞれ代替し、リバースプロキシの全機能を提供する。

実務での活用方法は関連書籍にも詳しい。

関連用語