プロキシサーバとリバースプロキシサーバについて


プロキシサーバとリバースプロキシサーバ

プロキシサーバ

  • クライアントからインターネットへのアクセスを代理で行う.
  • 通常, 社内LANとインターネットの境界に置かれる.

導入するメリット

各クライアントからインターネットへのアクセスを全てプロキシサーバ経由にすることで以下のメリットがある.

  • ユーザー認証によりLANからインターネットへの不正アクセスを防ぐ.
  • プロキシサーバで通信ログを取得し, 監視出来る.
  • プロキシサーバでパケットをフィルタリング出来る.
  • プロキシサーバで有害なサイトへのアクセスを制限出来る.
  • インターネットからはプロキシサーバのインターネット側の側のグローバルIPアドレスしか見えないため, クライアントのIPアドレスを隠蔽出来る.
  • キャッシュにより既に取得したページのコンテンツ取得を高速化し, トラフィックを削減する.

設定方法

手動

プロキシサーバのアドレスとポート番号を手動で指定する.

スクリプト

PAC(Proxy Auto-Config)ファイルを作成し, PACファイルを参照するように設定する.

PACファイルの例
function FindProxyForURL(url,host)
{ if(isPlainHostName(host)||
           isInNet(host,"192.168.0.0","255.255.0.0")) return "DIRECT"; 
 else return "PROXY 192.168.0.10:8080; DIRECT";
}

WPAD

WPAD(Web Proxy Auto-Discovery)ではプロキシサーバの設定を自動化出来る.
実現方法は主に2パターンある.

  1. DHCPでPACファイルを配布する.
  2. DNSにwpadを追加し, webサーバーのルートディレクトリにwpad.dat(pacファイルと内容は同じ)を配備する.

リバースプロキシサーバ

  • インターネットからサーバへのアクセスを代理で行う.
  • 通常, DMZに置かれる.

導入するメリット

  • インターネットから直接サーバーにアクセスされることを防ぐ.
  • ロードバランシング(負荷分散)によりリクエストを複数のサーバに振り分けることが出来る.
  • SSLアクセラレータ(SSLオフロード)により本来Webサーバが行うSSLの鍵交換やデータの暗号化/復号をリバースプロキシサーバが行うことでWebサーバの負荷を減らす.
  • キャッシュにより不変なコンテンツのリクエストに応答することでWebサーバへのリクエストを削減できる.
  • URL書き換えにより柔軟なネットワーク構成を実現出来る(例: リバースプロキシサーバのバックに配置した複数のサーバにリクエストを振り分ける).

参考