3.3.1 リバースプロキシの配置
NIO HTTPサーバを使用する場合にリバースプロキシを配置する構成について説明します。
インターネットに接続するシステムでNIO HTTPサーバを使用する場合は,ここで示す構成を基に,必ずDMZを確保して,リバースプロキシを配置する構成にしてください。
(1) システム構成の特徴
Webブラウザとアプリケーションサーバの間にDMZを確保して,リバースプロキシサーバを配置する構成です。
NIO HTTPサーバを使用する場合にDMZにリバースプロキシを配置する構成の例を次の図に示します。
これ以外の凡例については,マニュアル「アプリケーションサーバ システム設計ガイド」の「3.2 システム構成の説明について」を参照してください。
- 特徴
-
-
アプリケーションサーバへのアクセスはリバースプロキシサーバからだけになり,Webブラウザからアプリケーションサーバに直接アクセスされることを抑止できます。
-
通常,リバースプロキシ上にはHTMLなどの静的コンテンツは配置しません。
-
- リクエストの流れ
-
サーブレットとJSPに対するクライアントからのアクセスは,リバースプロキシモジュールを組み込んだWebサーバ経由で実行されます。
また,ロードバランスクラスタを使用して負荷分散をする場合は,リバースプロキシサーバおよびアプリケーションサーバそれぞれに対して負荷分散機(レイヤ5スイッチ)を使用して負荷分散を実行できます。
ロードバランスクラスタ構成の場合に,DMZにリバースプロキシを配置する構成の例を次の図に示します。
これ以外の凡例については,マニュアル「アプリケーションサーバ システム設計ガイド」の「3.2 システム構成の説明について」を参照してください。
- 特徴
-
-
アプリケーションサーバへのアクセスはリバースプロキシサーバだけからになり,Webブラウザからアプリケーションサーバに直接アクセスされることを抑止できます。
-
通常,リバースプロキシ上にはHTMLなどの静的コンテンツは配置しません。
-
リバースプロキシサーバおよびアプリケーションサーバへの負荷を分散してスケーラビリティと可用性を確保できます。
-
- リクエストの流れ
-
サーブレットとJSPに対するクライアントからのアクセスは,一つ目の負荷分散機,リバースプロキシモジュールを組み込んだWebサーバ,および二つ目の負荷分散機経由で実行されます。
このとき,一つ目の負荷分散機は,Webブラウザからのアクセスを,複数のリバースプロキシサーバに対して振り分けて負荷を分散します。二つ目の負荷分散機は,リバースプロキシサーバからのアクセスを,複数のアプリケーションサーバに対して振り分けて負荷を分散します。二つ目の負荷分散機では,HTTPセッションのスティッキー(Sticky)やアフィニティ(Affinity)の関連づけも制御します。
なお,HTTPSを使用する場合は,一つ目の負荷分散機のフロントにSSLアクセラレータを配置する必要があります。
(2) それぞれのマシンに必要なソフトウェアと起動するプロセス
それぞれのマシンに必要なソフトウェアとプロセスについて説明します。
(a) リバースプロキシサーバマシン
リバースプロキシサーバマシンには,HTTP Serverをインストールします。
必ず起動するプロセスは次のとおりです。
-
Webサーバ
このWebサーバには,リバースプロキシモジュールが組み込まれている必要があります。
(b) アプリケーションサーバマシン,運用管理サーバマシンおよびクライアントマシン
アプリケーションサーバマシン,運用管理サーバマシンおよびクライアントマシンに必要なソフトウェアと起動するプロセスは,サーブレットとJSPをアクセスポイントにする構成と同じです。マニュアル「アプリケーションサーバ システム設計ガイド」の「3.4.2 サーブレットとJSPをアクセスポイントに使用する構成(NIO HTTPサーバに直接アクセスする場合)」を参照してください。