複数のサーバでアプリケーションにアクセスする代替方法は、仮想ホストの配置を使用することです。仮想ホストは、Apache Web サーバ構成の共通機能で、このサーバ環境では簡単に設定できます。例えば、2 つの仮想ホストがあり、それぞれが別の TCP ポートで待ち受けているとします。
仮想ホストの概要
仮想ホストは、共通の Web サーバを介して 1 つまたは複数のインスタンスにアプリケーションを透過的に提供する方法です。各サーバ・インストールは、別々の Web サーバのように動作します。
仮想ホスト設定を区別する要素は、以下のいずれかです。
-
Web サーバ IP アドレス — Web サーバをホストするサーバは、2 つの IP アドレスで公開されます。以下はその例です。
123.123.123.1 == www.serverA.com
123.123.123.2 == www.serverB.com
-
Web サーバ・ポート — この方法は、異なる構成をテストする際に便利ですが、非標準の TCP ポート (80 以外の TCP ポート) が使用される場合に、要求のポート番号を組み込みます。以下はその例です。
Web Server TCP Port 80 == www.serverA.com
Web Server TCP Port 81 == www.serverB.com
-
パス — 仮想ホストを実装する際の好ましい方法です。2 つの名前を登録し、これらが Web サーバの 1 つの物理 IP アドレスに変換されます。以下はその例です。
www.serverA.com == 123.123.123.1
www.serverB.com == 123.123.123.1
どの方法を選択しても、Web ゲートウェイ構成のそれぞれの InterSystems IRIS インストールに名前付きのスロットを設定します (InterSystems IRIS インスタンス名と同じである必要はありません)。(各サーバの) Web ゲートウェイ構成が指しているスーパーサーバ・ポートが重要です。
以下はその例です。
www.serverA.com
www.serverB.com
両方とも、1 つの Web サーバ・インストールによって提供されます。
3 つすべての組み合わせを含むサーバを実装できます。オプション 1 および 3 は、ブラウザの観点では同じです。各仮想ホストを構成して、独自のドキュメント・ルートなどを作成できます。
仮想ホストの概念を CSP に拡張するには、2 つの仮想ホストを介して同じ Web アプリケーションを異なる InterSystems IRIS インスタンスで実行することを仮定します。例えば、一方のサイトをテスト用、他方を実稼働用にします。
www.serverA.com/csp/login.csp ==> irisA
www.serverB.com/csp/login.csp ==> irisB
InterSystems IRIS サーバへの Web アプリケーションのアクセスは、Web ゲートウェイの [アプリケーションアクセス] 構成オプションを使用して制御されます。通常、以下の 2 つのエントリが定義されます。
InterSystems IRIS サーバの名前は、これらのアプリケーション・パス定義と関連付けられます。
/ (Default Server == irisA)
/csp (Default Server == irisA)
Web ゲートウェイでは、この構成を拡張して、アプリケーションへのアクセスに使用する仮想ホストの名前を組み込むことができます。
/ (Default Server == irisA)
/csp (Default Server == irisA)
//www.serverA.com/csp (Default Server == irisA)
//www.serverB.com/csp (Default Server == irisB)
上記のように www.serverA.com/csp と www.serverB.com/csp に対して、別の InterSystems IRIS サーバを構成できます。示したように、// でサーバ名を付けます。
継承の現在のルールが適用されます。例えば、www.serverA.com/xxx/yyy.csp を要求する場合、以下に示すように serverA の最終的な既定値を定義しない限り、/ に定義された InterSystems IRIS サーバが最終的に使用されます。
/ (Default Server == irisL)
/csp (Default Server == irisL)
//www.serverA.com/ (Default Server == irisL)
//www.serverA.com/csp (Default Server == irisA)
//www.serverB.com/csp (Default Server == irisB)
Note:
Web ゲートウェイ構成で指定するサーバは、仮想である必要はありません。例えば、1 つの NSD インストールを構成して、いくつかの実際の Apache インストールをそれぞれに対して定義された InterSystems IRIS サーバの異なるセットとともにサポートできます。さらに、各 Apache サーバを構成して、多数の仮想ホストをサポートできます。
Web ゲートウェイは、CGI 環境変数 SERVER_NAME を使用してアプリケーションのホストを特定します。