SGD Gateway は次のコンポーネントで構成されます。
ルーティングプロキシ。AIP データ接続を SGD サーバーにルーティングする、Java テクノロジベースのアプリケーションです。
ルーティングプロキシの主要コンポーネントは次のとおりです。
ルーティングトークン – 「ルーティングトークンについて」を参照
キーストア – 「SGD Gateway で使用されるキーストア」を参照
ルーティングプロキシ構成ファイル – 「ルーティングプロキシ構成ファイル」を参照
逆プロキシ。逆プロキシモードで動作するように構成された Apache Web サーバーです。逆プロキシは HTTP 接続の負荷分散も実行します。
逆プロキシの主要コンポーネントは次のとおりです。
Apache Web サーバーの構成ファイル – 「Apache Web サーバーの設定ファイル」を参照
逆プロキシ用および HTTP 負荷分散用の Apache モジュール – 「SGD Gateway で使用される Apache モジュール」を参照
SGD Gateway はルーティングトークンを使用して AIP 接続を管理します。ルーティングトークンは、経路の送信元および送信先の SGD サーバーを識別する、署名され暗号化されたメッセージです。ルーティングトークンにはタイムスタンプが含まれており、トークンの寿命を制限するために使用されます。
発信ルーティングトークンは次のようになります。
SGD サーバーの非公開鍵を使用して SGD サーバー上で署名されます。
SGD Gateway の証明書を使用して SGD サーバー上で暗号化されます。
クライアントデバイスの SGD Client に送信されます。
着信ルーティングトークンは次のようになります。
SGD Gateway の非公開鍵を使用して SGD Gateway 上で復号化されます。
送信元 SGD サーバーの CA 証明書を使用して SGD Gateway 上で確認されます。
SGD Gateway 上で破棄されます。ルーティングトークンを提示している接続は、送信先 SGD サーバーにルーティングされます。
SGD Gateway は非公開鍵と証明書を使用して、ルーティングトークンへのデジタル署名、ルーティングトークンの確認、アレイ内の SGD サーバーに対する接続のセキュリティー保護、SGD Gateway へのクライアント接続のセキュリティー保護、およびリフレクションサービスへのアクセスの承認を行います。
SGD Gateway
で使用される証明書と非公開鍵は、/opt/SUNWsgdg/proxy/etc
ディレクトリのキーストアに保存されています。
このディレクトリには次のキーストアがあります。
SGD Gateway
キーストア。SGD Gateway
キーストア keystore
には、SGD Gateway
の証明書と非公開鍵、アレイ内の
SGD サーバーの CA 証明書、および
SGD サーバーの SSL
証明書があり、アレイ内の SGD
サーバーに対するセキュア接続に使用されます。
SGD Gateway キーストアのエントリを追加、削除、および一覧表示するには、gateway コマンドを使用します。
クライアントキーストア。クライアントキーストア
keystore.client
には、単一の
SGD Gateway SSL
証明書と非公開鍵があり、クライアントデバイスと
SGD Gateway
の間の接続をセキュリティー保護するために使用されます。デフォルトでは、このキーストアには自己署名付き証明書が入っています。この証明書を認証局
(CA)
によって署名された証明書で置き換えることができます。
リフレクションサービスキーストア。リフレクションサービスキーストア
keystore.reflection
には、SGD Gateway
でリフレクションサービスへのアクセスの承認に使用される証明書と非公開鍵が含まれています。デフォルトでは、このキーストアには自己署名付き証明書と非公開鍵が入っています。
キーストアは、SGD Gateway のインストール後に gateway setup コマンドを実行したときに自動的に作成されます。
すべてのキーストアで同じパスワードが使用され、パスワードは
/opt/SUNWsgdg/etc/password
ファイルで定義されます。このパスワードは、キーストアの最初の作成時に自動的に作成されるランダムなパスワードです。パスワードファイルを読み取ることができるのはスーパーユーザー
(root) だけです。
ルーティングプロキシ構成ファイルは
/opt/SUNWsgdg/etc/gateway.xml
です。これは、データプロトコルの種類に応じて経路を構成する
XML ファイルです。ルーティングおよび SSL
プロトコルに必要なキーストアの場所とパスワードも、このファイルで構成されます。
ルーティングプロキシ構成ファイルは、SGD Gateway のインストール時に自動的に作成され、gateway config コマンドを使用して SGD Gateway の構成を変更したときに更新されます。
gateway config コマンドは、Gateway
の構成に使用します。可能なかぎり、gateway.xml
ファイルを手動で編集しないでください。gateway.xml
ファイルの構成が間違っていると、SGD
Gateway の動作が停止することがあります。
デフォルトのルーティングプロキシ構成ファイルは
/opt/SUNWsgdg/etc/password
ファイル内のパスワードを使用して、SGD
Gateway
が使用するキーストアにアクセスします。このパスワードをディスクに保存したくない場合は、パスワードファイル内のエントリを書きとめます。パスワードファイルを削除し、gateway.xml
ファイルからすべての <keystore>
要素の password
エントリを削除します。次に SGD Gateway
を起動するとき、キーストアパスワードの入力を求められます。
SGD Gateway
が使用するキーストアのパスワードを変更するには、keytool
コマンドの -storepasswd
オプションを使用します。たとえば、keystore.client
キーストアのパスワードを変更するには、次のコマンドを実行します。
# /opt/SUNWsgdg/java/default/bin/keytool -storepasswd \ -keystore /opt/SUNWsgdg/proxy/etc/keystore.client
keytool アプリケーションを使用する方法の詳細については、JDK Tools and Utilities のドキュメントを参照してください。
/opt/SUNWsgdg/etc
ディレクトリには、ほかの .xml
および .template
ファイルもあります。これらのファイルは、gateway
config コマンドで
gateway.xml
ファイルを更新するために内部的に使用されます。これらのファイルを手動で編集しないでください。
SGD Gateway で使用するために構成された
Apache Web
サーバーの構成ファイルは、/opt/SUNWsgdg/httpd/
ディレクトリにあります。
apache-version
/conf
このディレクトリにある設定ファイルは、Apache Web サーバーの逆プロキシ処理と負荷分散を設定するために使用されます。
逆プロキシ処理と負荷分散を構成するためのファイルは、extra/gateway
サブディレクトリにあります。これらのファイルは、メインの
httpd.conf
ファイルで次の
Include
指令によって有効にされます。
# SGD Reverse Proxy/Load Balance settings Include conf/extra/gateway/httpd-gateway.conf
httpd-gateway.conf
ファイルは、Apache Web
サーバーの逆プロキシと負荷分散を構成します。負荷分散グループのメンバーは、httpd-gateway.conf
ファイルで次のように Include
指令を使用して定義されます。
<Proxy Balancer://mysgdservers/> Include conf/extra/gateway/servers/*.conf </Proxy>
extra/gateway/servers
ディレクトリには、負荷分散グループの各
SGD Web
サーバーの構成ファイルがあります。構成ファイルには
という名前が付けられます。ここで、server-name
.confserver-name
は gateway server add
コマンドで使用されたサーバー名です。このコマンドの詳細については、「gateway server add」を参照してください。
SGD Gateway ではスティッキーセッション HTTP 負荷分散が使用されます。つまり、Apache 逆プロキシはクライアントのブラウザに Cookie を設定することによって、ブラウザが必ず負荷分散で選択された SGD Web サーバーに戻るようにします。ユーザーセッションの終了時に Cookie は期限切れになります。
スティッキーセッションの Cookie
は、httpd-gateway.conf
ファイルで次のように Header add
Set-Cookie
指令によって有効にされます。
Header add Set-Cookie "BALANCEID=balanceworker.%{BALANCER_WORKER_ROUTE}e; path=/" \ env=BALANCER_ROUTE_CHANGED
ここで、BALANCEID
は Cookie
の名前、BALANCER_WORKER_ROUTE
と
BALANCER_ROUTE_CHANGED
は Apache
mod_proxy_balancer
モジュールによってエクスポートされた環境変数です。これらの環境変数については、Apache
mod_proxy_balancer
のドキュメントを参照してください。