Skip to main content

概要 : システムの Web ゲートウェイの設定

InterSystems Web アプリケーションを提供するには、Web クライアント (Web ブラウザなど) からの要求を InterSystems Web ゲートウェイを介して InterSystems IRIS® アプリケーション・サーバにルーティングするように Web サーバを構成する必要があります。

Note:

多くの場合、InterSystems IRIS と Web ゲートウェイのどちらのインストーラも、この構成のほとんどを自動的に実行できます。"Web サーバを使用した管理ポータルおよび他の組み込みの Web アプリケーションへのアクセス" を参照してください。

プライベート Web サーバ (PWS)Opens in a new tab を使用するインスタンスから InterSystems IRIS インスタンスをアップグレードする場合は、InterSystems IRIS インストーラを使用して Web サーバを簡単に自動構成する方法を紹介するビデオをこちら (https://learning.intersystems.com/course/view.php?id=2333Opens in a new tab) からご覧いただけます。

Web サーバと 1 つ以上の InterSystems IRIS インスタンスの間の接続を手動で設定するプロセスは、以下の手順で構成されます。

  1. Web ゲートウェイ・ファイルをインストールするか、webgateway コンテナの Docker イメージを取得します。

  2. Web サーバ構成に Web ゲートウェイを追加します。

  3. Web サーバ構成内で、Web サーバが Web ゲートウェイを介してルーティングする必要のある要求を指定します。

  4. Web ゲートウェイ構成内で、Web アプリケーションを提供する各 InterSystems IRIS アプリケーション・サーバのサーバ・アクセス・プロファイルを登録します。

  5. Web ゲートウェイ構成内で、アプリケーション・アクセス・プロファイルを登録して、アプリケーション・パスを、そのパスで利用可能なアプリケーションを提供する InterSystems IRIS アプリケーション・サーバに関連付けます。

  6. クライアントと Web サーバ間、Web ゲートウェイと InterSystems IRIS インスタンス間、クライアントと Web ゲートウェイ管理ページ間の接続を保護します。

ここでは、これらの手順について概説します。各手順には、必要に応じて、より具体的な手順へのリンクが用意されています。最後に、Web ゲートウェイのデコミッション方法の概要を示します。

Web ゲートウェイ・ファイルのインストール

システム内の各 Web サーバに、Web ゲートウェイのコピーをインストールします。Web ゲートウェイは、ニーズに応じて、InterSystems IRIS のインストールの一部として、スタンドアロン・コンポーネントとして、または webgateway Docker コンテナとして導入できます。

多くの場合、InterSystems IRIS インストーラとスタンドアロン Web ゲートウェイ・インストーラは、Web サーバに接続するように Web ゲートウェイを自動的に構成できます。これにより、次に示すように、このページの設定手順を実行する必要性が最小限に抑えられます。

InterSystems IRIS インストールの一部としてのインストール

InterSystems IRIS は、管理ポータルなどの Web アプリケーションを介して、複数の重要なシステム機能へのアクセスを提供します。このため、インターシステムズのインストーラには、必要な Web ゲートウェイ・ファイルが以下のセットアップ・タイプの一部として含まれています。

  • 開発

  • サーバ

  • Web サーバ (Windows の場合)

  • カスタムWeb サーバ・ゲートウェイ・コンポーネントが選択されている場合

スタンドアロン・コンポーネントとしてのインストール

InterSystems IRIS インスタンスをホストするマシンとは別のマシンに Web サーバを導入する場合は、次のいずれかの方法で、Web ゲートウェイをスタンドアロン・コンポーネントとして Web サーバ・マシンにインストールします。

  • スタンドアロン Web ゲートウェイ・インストーラを実行します。このインストーラは、WRC のダウンロード・ページ (https://wrc.intersystems.com/wrc/coDistGen.cspOpens in a new tab) で入手できます。[名前] 列に web gateway と入力して、お使いのシステムのキットを見つけます。InterSystems IRIS インストーラと同様に、スタンドアロン Web ゲートウェイ・インストーラは、Windows の場合は実行可能ファイルとして、他のすべてのシステムの場合はスクリプト (GatewayInstall) として実装されます。

  • 以下のいずれかのセットアップ・タイプを使用して、InterSystems IRIS インストーラを実行します。

    • Web サーバ (Windows の場合)

    • カスタムWeb サーバ・ゲートウェイ・コンポーネントのみを選択

  • InterSystems Container RegistryOpens in a new tab から webgateway コンテナの Docker イメージをプルします。詳細は、"webgateway コンテナの導入" を参照してください。

多くの場合、スタンドアロン・インストーラには、Web ゲートウェイを使用するように Web サーバを自動的に構成するオプションが用意されています。自動構成後、Web ゲートウェイを Web サーバ構成に追加するためにさらなる操作は必要ありません。ただし、システム内の各 InterSystems IRIS インスタンスの組み込みシステム・アプリケーションを含む、InterSystems Web アプリケーションのハンドラとして Web ゲートウェイを 呼び出すように、Web サーバを手動で構成する必要があります。また、手動で接続セキュリティを構成することも必要です。

webgateway コンテナの導入

InterSystems Container RegistryOpens in a new tab は、webgateway コンテナの Docker イメージを提供します。これらのコンテナには、Web ゲートウェイ拡張で事前構成されている Web サーバ (Apache または nginx) が含まれます。

webgateway コンテナを使用して Web ゲートウェイ接続を構成するには、構成が以下のセクションで説明する条件を満たしている必要があります。ただし、コンテナ化された導入の場合、構成方法はこのページで説明する方法とはかなり異なります。webgateway コンテナを使用する場合 :

  • Web ゲートウェイを Web サーバ構成に追加するのにさらなる操作は必要ありません。

  • 導入時の Web サーバ構成を自動化するには、特定のパスに送信された要求に対して Web ゲートウェイを呼び出すように、webgateway コンテナで Web サーバを構成する必要があります。それには、イメージの Dockerfile 内で構成ファイルをプログラムによって変更するか、コンテナ・クラスタの YAML ファイルで構成を記述します。

  • 導入時の Web ゲートウェイ構成を自動化するには、CSP.ini マージ機能を利用して、webgateway コンテナのサーバ・アクセス・プロファイルアプリケーション・アクセス・プロファイルを、それらの CSP.ini ファイル内で直接定義します。

具体的な手順は、"InterSystems Web ゲートウェイ・コンテナの使用法" を参照してください。

Web ゲートウェイでの Web サーバの機能拡張

Web クライアントから静的コンテンツ (プレーン・テキスト、イメージ、JavaScript) を要求された際の Web サーバのロールは簡単で、要求の URL パスに対応するファイル・システムの場所からコンテンツを処理するだけです。Web サーバの構成では、URL パスとアクセス権のあるファイル・システムの場所とのマッピングを定義します。

ただし、Web アプリケーションから動的なコンテンツを提供するには、HTTP 要求を Web アプリケーション・コードの呼び出しとして解釈できるライブラリ・モジュールまたは外部プログラムを使用して、Web サーバの機能を拡張する必要があります。

これが、InterSystems Web ゲートウェイの目的です。Web サーバの機能を拡張して、InterSystems Web アプリケーションの要求を認識して処理します。Web サーバが InterSystems IRIS Web アプリケーションを提供するには、Web ゲートウェイ拡張を含めるように Web サーバを構成した後、通常、要求で指定された URL パスに基づいて、Web ゲートウェイ拡張で処理すべき要求を認識するよう Web サーバを構成する必要があります。

Web サーバ構成への Web ゲートウェイの追加

インターシステムズでサポートされているテクノロジのページには、このバージョンの製品と互換性のある Web サーバがリストされています。多くの場合、InterSystems IRIS インストーラは Web ゲートウェイを Web サーバに自動的に追加できます。

Web ゲートウェイを Web サーバに手動で追加する手順は、オペレーティング・システム、使用する Web サーバ、およびユース・ケースによって大きく異なります。最初に考慮すべきことを以下に示します。

  • 一般に、インターシステムズでは Web サーバの Web ゲートウェイ拡張をバイナリのペアとして実装します。1 つのバイナリはコア・ランタイム機能を担当し、もう 1 つのバイナリは Web ゲートウェイ管理ページの機能を担当します。管理バイナリはファイル名の末尾に Sys を追加することで、ランタイム・バイナリと区別されます (例 : CSPa24.soCSPa24Sys.so)。どちらのバイナリも同じディレクトリに置く必要があります。

  • Apache (UNIX®/Linux/macOS) および Microsoft IIS (Windows) の場合、Web ゲートウェイを導入するには、Web サーバ独自の API を利用して、動的にロードされる拡張モジュール (Apache の場合は .so ファイル、IIS の場合は .dll ファイル) を追加するのが最も簡単です。Nginx (UNIX®/Linux/macOS または Windows) は、コンパイル時に Web ゲートウェイ拡張のソース・コードを Web サーバに組み込むことによる Web ゲートウェイ拡張の追加のみをサポートします。

  • Nginx の Web ゲートウェイ拡張では、Web ゲートウェイの機能を実行する外部プロセスを呼び出します。このプロセスは、Network Service Daemon (NSD) と呼ばれます。Web ゲートウェイのオペレーションを Web サーバから切り離す必要がある場合、インターシステムズは Apache および Microsoft IIS でそれぞれ独自の API を使用して NSD Web ゲートウェイを導入するための拡張機能も提供しています。

    Important:

    セキュリティ上の理由により、Web サーバのプロセスから NSD ファイルにアクセスすることはできません。NSD ファイルは、Web サーバのプロセスがアクセスできるディレクトリの外にあるファイル・システムの場所にインストールすることをお勧めします。

  • Common Gateway Interface (CGI) 拡張を使用する必要がある場合、インターシステムズは Apache および Microsoft IIS 向けに NSD Web ゲートウェイを構成するための CGI 実行可能ファイルも提供しています。

  • 選択する導入方法に関係なく、Web サーバのワーカ・プロセスが以下のディレクトリ (およびそのコンテンツ) にアクセスするための適切な権限を持つように、システムを構成する必要があります。

    • Web ゲートウェイ・バイナリのインストール・ディレクトリ。既定では、これらの場所は UNIX®/Linux/macOS では /opt/webgateway、Windows では C:\Inetpub\CSPGateway です。

    • Web ゲートウェイの構成ファイル (CSP.ini) を含むディレクトリ。

    • Web ゲートウェイ・キャッシュの内容を .dat ファイルの形式で記録する、Web ゲートウェイのインストール・ディレクトリ内の /temp サブディレクトリ。

    • Web アプリケーションが処理する可能性のある静的ファイルのディレクトリ。CSP アプリケーションに関連付けられている静的ファイルは、<IRISinstallDir>/csp/ パス内の対応するディレクトリに格納されます。<IRISinstallDir> は、アプリケーションをホストする InterSystems IRIS インスタンスのインストール・パスです。<IRISinstallDir>/csp/broker パスには、複数の組み込みのシステム・アプリケーションの静的ファイルが含まれます。

以下の表では、オペレーティング・システムと Web サーバに基づいて、Web ゲートウェイを Web サーバ構成に追加するための具体的な手順へのリンクを提供します。お使いの Web サーバに固有の詳細情報は、Web サーバの製品ドキュメントを参照してください。

オペレーティング・システム Web サーバ 導入手順
UNIX®/Linux/macOS ApacheOpens in a new tab
UNIX®/Linux/macOS nginxOpens in a new tab
Windows IISOpens in a new tab
Windows nginxOpens in a new tab

Web サーバが Web ゲートウェイを介してルーティングする要求の指定

InterSystems Web アプリケーションを提供するには、Web サーバは Web ゲートウェイ拡張を呼び出して、そのアプリケーションに指定された URL パスで受け取った HTTP 要求を処理する必要があります。この構成手順は、Web サーバによって異なります。

お使いの Web サーバに関係なく、インターシステムズは Web ゲートウェイが処理すべき要求を指定するための 2 つの方法を提供しています。

  1. クライアントが指定されたパスで特定のファイル・タイプを要求したときに、Web ゲートウェイを呼び出します。InterSystems Web アプリケーション要求の多くは、末尾が以下のいずれかのインターシステムズ・ファイル・タイプ拡張子になっています。

    .csp .cls .zen .cxw
    

    最初の 3 つのファイル・タイプは、InterSystems IRIS で実行できるコードの種類を示します。最後のファイル・タイプ (.cxw) は、Web ゲートウェイ管理ページで排他的に使用するために予約されています。Web アプリケーションが応答の一部として静的ファイル (.jpg.js など) を処理する場合、それらの静的ファイル・タイプの要求に対する応答として Web ゲートウェイを呼び出すように、Web サーバを構成することも必要です。

  2. 指定されたパスでの任意の要求に対して、Web ゲートウェイを呼び出します。

ほとんどの REST API はファイルまたはファイル・タイプを指定せずに、エンドポイント・パスを公開します (例えば、InterSystems IRIS パフォーマンス・データを収集するためのエンドポイント : /api/monitor/metrics)。このようなアプリケーションを提供するには、アプリケーションの URL パスでのすべての要求に対して、Web ゲートウェイを呼び出す必要があります。

以下の表は、Web ゲートウェイを呼び出す両方の方法を、サポート対象の Web サーバごとに簡単にまとめたものです。お使いの Web サーバの構成手順の詳細は、Web サーバの製品ドキュメントを参照してください。

Web サーバ パスでのすべての要求のルーティング 特定のファイル・タイプのルーティング
ApacheOpens in a new tab

<Location> ブロック内で指示文 CSP On および CSP Off を使用して Apache 構成ファイル (通常は httpd.conf) を編集します。例 : <Location {/path}> CSP On </Location>

{/path} は相対 URL パスです。

Note:

この Web サーバ指示文を <VirtualHost> ブロック内で使用することはできません。

<Location> ブロック内で指示文 CSPFileTypes を使用して Apache 構成ファイル (通常は httpd.conf) を編集します。例 :<Location {/path}> CSPFileTypes {xxx yyy ...} </Location>

{/path} は相対 URL パスで、{xxx yyy ...} は空白で区切られたファイル・タイプ拡張子のリストです。

Note:

この Web サーバ指示文を <VirtualHost> ブロック内で使用することはできません。

IISOpens in a new tab Web ゲートウェイ・ネイティブ・モジュールを呼び出す、制限のない * (ワイルドカード) ハンドラ・マッピングを追加します。詳細は、"アプリケーション要求のハンドラ・マッピングの設定" を参照してください。 目的のファイル拡張子の、ファイル制限のあるハンドラ・マッピングを追加します。詳細は、"アプリケーション要求のハンドラ・マッピングの設定" を参照してください。
nginxOpens in a new tab

指示文 CSP on および CSP off を使用して nginx 構成ファイル (nginx.conf) を編集します。例 :location </path> { CSP on; }

</path> は相対 URL パスです。詳細は、"NSD を呼び出すように Nginx を構成" を参照してください。

指示文 CSPFileTypes を使用して nginx 構成ファイル (nginx.conf) を編集します。例 :location </path> { CSPFileTypes <xxx yyy ...> }

</path> は URL パスで、<xxx yyy ...> は空白で区切られたファイル・タイプ拡張子のリストです。詳細は、"NSD を呼び出すように Nginx を構成" を参照してください。

Web サーバが Web ゲートウェイを呼び出す URL パスを選択する前に、Web サーバからアプリケーションを提供する InterSystems IRIS インスタンスにアプリケーション要求をルーティングするプロセス全体を検討することをお勧めします。これは、システムに複数の InterSystems IRIS アプリケーション・サーバが搭載されている場合、または組織に特定の URL 命名規則がある場合に特にお勧めです。詳細は、"Web ゲートウェイを介して要求をルーティングするパスの選択" を参照してください。

Web ゲートウェイから InterSystems IRIS インスタンスへの要求の送信

Web サーバが Web アプリケーションの要求を Web ゲートウェイに渡すと、Web ゲートウェイはそのアプリケーションのコードをホストする InterSystems IRIS インスタンスにその要求をルーティングします。

そのためには、Web ゲートウェイに以下の情報を提供する必要があります。

  • 各インスタンスのアプリケーション・サーバ・プロセスと通信するのに必要な接続情報。Web ゲートウェイはこの情報をサーバ・アクセス・プロファイルに保持します。

  • Web アプリケーション・パス (または、一連の Web アプリケーションのベース・パス) と、アプリケーションのコードをホストするインスタンスのサーバ・アクセス・プロファイルとのマッピング。Web ゲートウェイはパスのルーティング動作をアプリケーション・アクセス・プロファイルに保持します。

Note:

InterSystems IRIS インスタンスのアプリケーション・サーバ・プロセスは、従来のInterSystems Web アプリケーション・フレームワークにちなんで "CSP サーバ" と呼ばれることがあります。

インスタンスのアプリケーション・サーバ・プロセスへの接続を構成および監視する Web ゲートウェイ管理ページでは、これらのプロセスを単に "サーバ" と呼んでいます (Web ゲートウェイの Web サーバへの接続は、Web サーバ構成で決定されます)。

混乱を最小限に抑えるために、Web ゲートウェイのドキュメントでは、具体的にアプリケーション・サーバ・プロセスを指す必要がある場合を除き、InterSystems IRIS インスタンスを Web ゲートウェイ接続の有効なターゲットとして記載しています。

どの導入においても、すべての Web ゲートウェイで、サーバ・アクセス・プロファイルアプリケーション・アクセス・プロファイルを構成するための同じ便利な Web インタフェース、Web ゲートウェイ管理ページが提供されています。Web ゲートウェイ管理ページでは、グローバルな既定のパラメータの構成Web ゲートウェイ接続の監視テスト接続などを行うこともできます。

Web ゲートウェイは構成情報を CSP.ini ファイルに保持します。

Important:

CSP.ini ファイルを直接編集しなければならないことがあるコンテナ化された導入を除き、CSP.ini ファイルへのアクセスを制限して、すべての Web ゲートウェイ構成を Web ゲートウェイ管理ページまたは Web ゲートウェイ・レジストリ・メソッドを使用して実行することをお勧めします。

InterSystems IRIS インスタンスの Web ゲートウェイへの接続

Web ゲートウェイが InterSystems IRIS インスタンスのアプリケーション・サーバ・プロセスへの接続を確立し、維持できるようにするには、各インスタンスの接続情報 (IP アドレス、スーパーサーバ・ポート番号、接続セキュリティの認証情報など) を提供するサーバ・アクセス・プロファイルを定義する必要があります。"InterSystems IRIS インスタンスのサーバ・アクセス・プロファイルの定義" を参照してください。

インスタンスのアプリケーションとの関連付け

単一の Web ゲートウェイが、複数の InterSystems IRIS インスタンスに、そのインスタンス固有のアプリケーションの要求をルーティングすることができます (各インスタンスの管理ポータルなど)。さらに、Web ゲートウェイは、単一のアプリケーションの要求を、同じアプリケーション・コードをホストする複数のインスタンスに関連付けることができるため、負荷分散とフェイルオーバーが可能になります。

Web ゲートウェイは、アプリケーション・アクセス・プロファイルに基づいて宛先インスタンスを決定します。アプリケーション・アクセス・プロファイルは、要求で指定された URL パスと、1 つ以上の InterSystems IRIS インスタンス (サーバ・アクセス・プロファイルで示された) との間のリレーションシップを定義します。アプリケーション・アクセス・プロファイルには、Web ゲートウェイがそのパスのトラフィックを処理する方法に関するその他の詳細も含まれます。"Web アプリケーション・パスのアプリケーション・アクセス・プロファイルの定義" を参照してください。

アプリケーション・アクセス・プロファイルを定義する URL パスを選択する前に、Web サーバからアプリケーションを提供する InterSystems IRIS インスタンスにアプリケーション要求をルーティングするプロセス全体を検討することをお勧めします。これは、システムに複数の InterSystems IRIS アプリケーション・サーバが搭載されている場合、または組織に特定の URL 命名規則がある場合に特にお勧めです。詳細は、"Web ゲートウェイを介して要求をルーティングするパスの選択" を参照してください。

すべての接続の保護

要求は、Web クライアントから InterSystems IRIS アプリケーション・サーバに送信される途中で、次の 2 つの TCP 接続を通過します。

  1. Web クライアントと Web サーバ間の接続。Web クライアントと Web サーバ間の接続を保護するには、つまり、HTTPS を使用するには、Web サーバに SSL/TLS を構成する必要があります。詳細は、Web サーバのドキュメントを参照してください。

  2. Web ゲートウェイと InterSystems IRIS アプリケーション・サーバ間の接続。インターシステムズでは、この接続を保護する複数の方法をサポートしています。詳細は、"InterSystems IRIS への Web ゲートウェイ接続の保護" を参照してください。

また、ページにアクセスできる IP アドレスを定義し、ページにアクセスするための認証を要求することで、Web ゲートウェイ管理ページへのアクセスを保護する必要があります。

Web ゲートウェイ接続のデコミッション

システムから InterSystems IRIS インスタンスをアンインストールした場合、関連するすべての構成要素を削除して、そのインスタンスへの Web ゲートウェイ接続をデコミッションする必要があります。そのためには、以下の操作を実行します。

  1. 不要になったアプリケーション・パスの Web ゲートウェイ・アプリケーション・アクセス・プロファイルを削除します。例えば、インスタンスの名前が IRISserv1 の場合、/irisserv1 パス (インスタンス接頭語) のアプリケーション・アクセス・プロファイルと、/irisserv1/csp など下位のパスのアプリケーション・アクセス・プロファイルを削除します。

  2. インスタンスが提供していたアプリケーションを、他の InterSystems IRIS インスタンスを使用して引き続き提供する場合は、対応するアプリケーション・アクセス・プロファイルの [代替サーバ] フィールドを更新して、他のインスタンスのサーバ・アクセス・プロファイルを識別できるようにします (新しい InterSystems IRIS アプリケーション・サーバ用のサーバ・アクセス・プロファイルの追加が行われることがあります)。

  3. アンインストールした InterSystems IRIS インスタンスに対応する Web ゲートウェイのサーバ・アクセス・プロファイルを削除します。Web ゲートウェイがサーバ・アクセス・プロファイルの削除を許可するには、サーバ・アクセス・プロファイルへのすべての参照をアプリケーション・アクセス・プロファイルから削除する必要があることに注意してください。

  4. 不要になったパスの Web サーバ構成指示文を削除します。例えば、インスタンスの名前が IRISserv1 の場合、Apache Web サーバの構成ファイルから <Location /irisserv1> ブロックを削除すると共に、/irisserv1/csp など下位のパスの <Location> ブロックを削除します。インスタンスのインストール時に Web サーバ自動構成オプションを選択し、Apache Web サーバを使用している場合、この例に示されているように、コメントでインスタンスに固有の構成指示文の開始と終了が示されます。

Web サーバによる Web ゲートウェイの使用を完全に中止する場合は、Web ゲートウェイに関連するすべての要素を Web サーバ構成から削除します。その後、Web ゲートウェイ・ファイルを削除します。既定では、これらのファイルは /opt/webgateway/bin (UNIX®/Linux/macOS) または C:\Inetpub\CSPGateway (Windows) に格納されています。

FeedbackOpens in a new tab