創屋ぷれす

リーバスプロキシとは

リバースプロキシについて調べたので書いていきます.

そもそもまずプロキシとはというところですが,よく学校とかで使われていますよね.
学内でインターネットに接続するときにブラウザにプロキシサーバー設定して…とか.
PCが新しくなったら届け出出してプロキシサーバーに登録してもらう…とか.

これは,内部ネットワークと外部ネットワークの間にプロキシサーバーをたてて,内部からの通信はプロキシサーバーが代理して外部ネットワークにアクセスしにいくということをやっています.
なぜかというと,一括管理することで安全性や速度を高めることができるからです.
怪しいサイトにアクセスしないようにドメインを指定して通信できないようにしたり,プロトコルを指定して通信できないようにしたり…といったことができます.

私の母校にもあって,そのときは面倒くさいものとしか思ってませんでした笑
今思い返すと,そりゃ大事だわって感じです.

本題に戻ると…
リバースプロキシはプロキシの逆ですね.(名前の通りです)
プロキシが内部→外部だったのに対し,リバースプロキシは外部→内部です.
Webサーバーで使われるのが一般的ですかね.

リバースプロキシを使う目的として一番大きいのは,負荷の分散だと思います.
Webサーバーで負荷分散というとロードバランサがよく使われていますが,リバースプロキシとの違いは誰がクライアントに応答を返すかというところです.
ロードバランサは負荷状況を見てアクセスをどのWebサーバーに振るか,ということをするので,最終的な応答は各Webサーバーが返します.
それに対し,リバースプロキシでは決められた設定に従ってクライアントとWebサーバーの間にたってやり取りを行うので,最終的な応答はリバースプロキシが返します.

コンテンツ(画像とか)を多く配信する場合は,一々アプリケーションのあるWebサーバーが応答を返さなくてもリバースプロキシとコンテンツサーバーでやり取りするだけなので,負荷を減らすことができます.
(作りにもよると思うので一例ですが!)
リバースプロキシのサーバーが落ちたら大変なので冗長化はしっかりしないといけないので,そこは注意が必要です.

ロードバランサを使うか,リバースプロキシを使うかという選択を迫られたら,コンテンツの量で考えると選択しやすいかもしれませんね.
リバースプロキシは面白い技術だと思うので,使えるようなWebサービスを作りたいですね~

Comments are closed.