クロスオリジン・リソース共有 (CORS) の構成

別のオリジンの Web アプリケーションが Domino Web サーバー上のリソースにアクセスできるように、クロスオリジン・リソース共有 (CORS) を構成します。

このタスクについて

セキュリティー上の理由から、ほとんどのブラウザは同一オリジンのポリシー・ルールに準拠しています。このルールは、あるオリジンから読み込まれた Web ページが、別のサーバー (またはオリジン) のリソースにアクセスすることを制限します。CORS では、同一オリジンのポリシーに対する例外を定義できます。ほとんどのブラウザは CORS をサポートしています。

  • CORS は、Domino 10.0.1 Fix Pack 2 でサポートされています。
  • CORS は、Windows、Linux、IBM AIX でサポートされています。IBM i ではサポートされていません。

たとえば、サーバー A (Apache サーバー) から読み込まれた Web アプリケーションが、サーバー B (Domino サーバー) に REST API 要求を行うとします。サーバー B で CORS を構成して、サーバー A から読み込まれた Web ページがサーバー B に REST API 要求を行えるようにします。

CORS は、Domino アクセス・サービス (DAS) API および Domino でホストされているその他の種類の REST API で動作します。実際、CORS はあらゆる種類の Domino HTTP リソースで機能します。

Domino サーバーで CORS を構成するには、以下の手順を実行します。

手順

  1. To enable CORS:
    • If not using internet sites, enable CORS in the Server document of the Domino server:
      1. Domino ディレクトリーで、サーバー・ドキュメントを開きます。
      2. [インターネット プロトコル] > [HTTP]タブを選択します。
      3. DSAPI セクションで、[DSAPI フィルターファイル名] フィールドに次の値を追加します。
        • (Windows) ncorsext
        • (その他のすべてのプラットフォーム) corsext
    • If using internet sites, enable CORS in the Internet site document for sites on which it is wanted:
      1. Open the Internet site document, then select the configuration tab.
      2. DSAPI セクションで、[DSAPI フィルターファイル名] フィールドに次の値を追加します。
        • (Windows) ncorsext
        • (その他のすべてのプラットフォーム) corsext
  2. Domino サーバーにアクセスできるオリジンを定義する JSON ファイルを作成します。
    Note: If you enabled CORS through an Internet site document, complete this step and the next one on each server that is associated with the Web site.
    1. サーバーの ...Domino\data\domino フォルダーに新規フォルダー cors を作成します。
    2. cors フォルダに新規ファイル cors-rules.json を作成します。
    3. cors-rules.json で、Domino サーバーがアクセスできるオリジンを定義します。 For details, see CORS JSON configuration.
  3. HTTP サーバーのタスクを停止してから、再始動します。
    tell http quit 
    load http  

結果

HTTP サーバーの起動時の次のメッセージは、CORS が正しく構成されていることを示します。
HTTP Server:DSAPI CORS フィルタが正常に読み込まれました
HTTP サーバーの起動時の次のメッセージは、CORS 構成に問題があることを示します。
HTTP Server:DSAPI モジュールの ncorsext を読み込めませんでした