リバースプロキシ 【reverse proxy】 逆プロキシ / RPサーバ / リバプロ
概要
リバースプロキシ(reverse proxy)とは、特定のWebサーバの代理として、そのサーバへの外部からのすべての接続を中継するプロキシサーバ。当該サーバへアクセスしようとするクライアントはすべてリバースプロキシを経由するよう誘導される。「プロキシ」(proxy)は「代理」という意味で、ネットワーク上である機器の代理として別の機器との接続・通信を行う機器を指す。通常のプロキシはクライアントの代理としてサーバへの接続を行うが、リバースプロキシはこれとは逆にサーバの代理としてクライアントからの接続を受け付ける。
リバースプロキシはサーバ側のネットワークに設置される。クライアントからサーバへ要求を送信すると、経路途上にあるリバースプロキシがこれを受信し、必要に応じてサーバへ要求を転送する。リバースプロキシはサーバからの応答を受け取り、サーバに代わってクライアントに返信する。キャッシュしたコンテンツを送信する場合はサーバへの取次は省略してリバースプロキシ自身が直に応答する場合もある。
リバースプロキシと対比する文脈では、通常のプロキシサーバ(クライアントの代理として、様々なWebサーバへのアクセスの際に必ず経由するもの)のことを「フォワードプロキシ」(forward proxy)と呼ぶことがある。
機能・用途
リバースプロキシは様々な機能、目的のために導入される。例えば、SSL/TLSによるデータの暗号化や復号、クライアントへ送信するデータの圧縮などの処理をWebサーバから肩代わり(オフロード)したり、頻繁に要求される画像などの静的なデータを保存してサーバに代わって送信するキャッシュサーバとして利用される。
サーバが複数台に分かれており、クライアントからの接続要求を何らかのルールに基づいて振り分け、外部からは一台のサーバのように見せかけるロードバランサとしての機能を持つものもある。サーバ間の負荷分散やシステム全体の可用性の向上を図ることができる。
また、外部からサーバへの攻撃や不審なアクセスを検知して遮断するファイアウォールのような機能や、利用者の認証を行ってサーバへのアクセス制御を行う機能などを備えたものもある。ネットワーク構成によってはリバースプロキシとサーバ間をプライベートネットワークとし、外部からサーバに直接アクセスできないようにする場合もある。これらの機能や構成はセキュリティ向上に資する。