プロキシに関する話題です。今回はリバースプロキシです。ほとんど こちら の続きになります。
リバースプロキシとは
リバースプロキシはフォワードプロキシとは違いサービス提供者が自分のインフラ性能を上げることを目的としています。
主に Web サーバ用途が多いのですが、仕組みとしてはまずエンドユーザ(アクセスしてきたユーザ)は Web サーバに接続します。この時、Web サーバに接続したと思っていても実際はプロキシサーバが搭載されたサーバへアクセスしています。プロキシサーバは自分のサーバ内にキャッシュ(html ファイル等)がない場合に Web サーバへアクセスしその結果(ここも html ファイル等)を返しキャッシュとして保存します。
キャッシュがあればプロキシサーバは Web サーバへアクセスすることはないわけですから、Web サーバにとってはアクセス数が減り負荷も下がります。また、多くの Web サイトは接続があった場合、毎回プログラムを実行し、処理を行うわけですが、この処理結果をキャッシュとして保存しそのままユーザへ返すことになる為、毎回プログラムを実行する必要もなくなります。このことも多大に負荷を下げることになります。
また、エンドユーザにとっても飛躍的にレスポンスが高くなるという効果があります。
このような仕組みがリバースプロキシとなるわけですがフォワードプロキシとの大きな違いはフォワードプロキシの場合はバックエンドの Web サーバが不特定多数であるのに対し、リバースプロキシは特定の(自分の Web サイト専用)のプロキシサーバという点になります。
ただ、リバースプロキシの場合、別途サーバを立てなければならず導入コストも運良コストもかさみます。また、キャッシュは古くなる可能性がありそれを適切に更新する計画も立てなければなりません。このことは障害も増やしてしまうでしょう。
とは言えリバースプロキシはサイト管理者にとってもエンドユーザにとっても効果大です。ぜひとも導入してみて下さい。