Esri Maps for IBM Cognos の以前のバージョンに関するヘルプです。現在のバージョンについては、http://doc.arcgis.com/ja/maps-for-cognos/ を参照してください。

プロキシの利用

一部の環境では、Esri Maps for IBM Cognos は、ArcGIS プラットフォーム (および、取得した ArcGIS アイテムが参照するすべての Web サービス) との通信を仲介する内部プロキシ機構を使用します。プロキシが必要な場合、Esri Maps for IBM Cognos は HTTP リクエストをプロキシに送信し、プロキシがそのリクエストをリモートの Web サーバー (ArcGIS など) に転送します。その後、プロキシは Esri Maps for IBM Cognos への応答を中継します。

内部プロキシ機構

Esri Maps for IBM Cognos が、使用するすべてのデータおよび Web サービスが同じドメイン上にある場合や、ブラウザーとすべてのサーバーが CORS (Cross-Origin Resource Sharing) をサポートしている場合は、内部プロキシは使用されません。ただし、ほとんどの運用環境では、この構成は一般的ではないため、内部プロキシを設定することをお勧めします。

CORS 対応サーバーの指定 (オプション)

ほとんどの最新のブラウザーは、推奨標準である CORS を使用しています。CORS 標準のヘッダーを HTTP 仕様に追加することによって、リソースやサービスを読み取ることが許可された生成元 (オリジン) をサーバーに示すことができます。

Esri Maps for IBM Cognos は、CORS を使用するサーバーを自動的に検出し、これらのサーバーと通信します。ただし、サーバーが CORS 対応であっても、初期リクエスト (たとえば HTTP POST) が Esri Maps for IBM Cognos の内部プロキシを通じて自動的にルーティングされる場合があります。Esri Maps for IBM Cognos 管理者は、Esri Maps for IBM Cognos の構成ファイル (settings.js) に CORS 対応のサーバーの URL を設定することで、それらのサーバーが CORS 対応であると自動的に見なして、プロキシをバイパスするように設定できます。

CORS 対応サーバーを指定するには、次の手順を実行します。

  1. 標準的なテキスト エディターを使用して、アプリケーションの構成ファイルを開きます。

    構成ファイルは、EM4C ゲートウェイの次の場所にあります。<em4c_location>/webcontent/esrimap/configuration/settings.js

  2. corsEnabledServers プロパティで、CORS 対応であると自動的に見なすサーバーの URL を指定します。

    それぞれの URL は引用符で囲み、複数の URL はカンマで区切ります。

    次に例を示します。corsEnabledServers: ["mapserver.mycompany.com", "otherserver.othercompany.com"]

  3. 編集した settings.js ファイルを保存して閉じます。

内部プロキシの構成

内部プロキシは、最小限のカスタム構成で動作するように設計されていますが、特定サーバーへのリクエストだけを許可するように設定をカスタマイズできます。つまり、プロキシがリクエストを転送するリソースを指定できます。

内部プロキシ設定を構成するには、標準的なテキスト エディターを使用して、プロキシ構成ファイルを変更します。

プロキシ構成ファイル (proxy.conf) は、EM4C ゲートウェイ上の <em4c_location>/temp/proxy.conf にあります。

Esri Maps for IBM Cognos からのアクセスが許可される URL を定義するには、個々の URL を別々の serverUrl プロパティで指定します。Esri Maps for IBM Cognos がアクセスしてマップ サービスを取得する必要のあるすべてのサーバーについて、別々の serverUrl プロパティを作成します。

例:

matchUrls = true
serverUrl = http://www.arcgis.com
serverUrl = https://arcgis.com
serverUrl = http://myserver.mycompany.com

プロキシのテスト

内部プロキシをテストするには、HTTP リクエストをそのプロキシを通じてルーティングします。プロキシが期待される値を返した場合、正しく動作していることになります。次の手順は、Esri Maps for IBM Cognos が生成する HTTP トラフィックをシミュレートする呼び出しの例を示しています。

  1. Esri Maps for IBM Cognos の内部プロキシの場所を確認するには、Web ブラウザーのアドレス バーに該当の URL を入力します。

    http://myibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi

    内部プロキシに正常にアクセスすると、ページにタイム スタンプが表示されます (例: Thu Oct 02 07:34:52 PDT 2014)。期待される応答を受信しなかった場合は、内部プロキシ構成の設定を確認します。

  2. 既知のリソースに接続できることを確認します。

    たとえば、次の各 URL は、サーバー上にインストールされているソフトウェアのバージョンを記述する JSON オブジェクトを返します。

    • ArcGIS Online: http://www.arcgis.com/sharing?f=pjson
    • Portal for ArcGIS インスタンス: http://myPortal/gis/sharing/?f=pjson

  3. 内部プロキシを通じてトラフィックをルーティングします。

    たとえば、次の各 URL は、サーバー上にインストールされているソフトウェアのバージョンを記述する JSON オブジェクトを返します。

    • ArcGIS Online: http://ibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi?http://www.arcgis.com/sharing?f=pjson
    • Portal for ArcGIS インスタンス: http://ibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi?http://myPortal/gis/sharing/?f=pjson

    正しく動作した結果とは、プロキシが適切に構成され、期待通りに機能することを意味します。

オプションの上流プロキシの構成

Esri Maps for IBM Cognos が内部プロキシを使用しなければならない状況では、内部プロキシが HTTP リクエストを目的のターゲット リソース (マップ サービスなど) に転送できる必要があります。しかし、環境によっては、ファイアウォールなどにより、これらのリクエストを送信できない場合があります。たとえば、ファイアウォールの影響で内部ネットワークの外部に HTTP トラフィックを送信できない場合があります。

この問題を解決するために、上流転送プロキシを構成することができます。

上流プロキシを使用すると、内部ネットワークのセキュリティを損なわずに、ネットワーク外部に接続できるようになります。上流プロキシを使用する一般的な方法の 1 つとして、内部ネットワークを保護するために、プロキシ サーバーを境界ネットワークに配置する方法があります。

内部ネットワークを保護するために、オプションの上流プロキシ サーバーを境界ネットワークに配置します

上流プロキシ自体は、エンタープライズレベルのサードパーティの (Esri でない) ソリューションを表しています。これは、Esri Maps for IBM Cognos の一部ではありません。

Esri Maps for IBM Cognos のプロキシの構成ファイルには、上流プロキシを構成できるプロパティが含まれています。

上流プロキシ設定を構成するには、標準的なテキスト エディターを使用して、プロキシ構成ファイルを変更します。

  1. upStreamProxy プロパティを true に設定します。
  2. 次の表記法を使用して、upStreamProxyUrl を指定します。
    http://<address>:<port>
    

    ここで:

    • address - プロキシ サーバーのアドレス。例: proxy.mycompany.com
    • port - プロキシ サーバーに割り当てられたポート番号。例: 8888

    例:

    upStreamProxy = true
    upStreamProxyUrl = http://proxy.mycompany.com:8888
    

  3. 上流プロキシをテストするには、内部プロキシを通じてリクエストをルーティングします。すると、上流プロキシを通じて呼び出しがルーティングされます。詳細については、「プロキシのテスト」をご参照ください。