プロキシの使用
アプリを配置する場合、プロキシの使用が必要になることがあります。Web AppBuilder は、以下の状況でのプロキシの使用をサポートしています。
- ドメイン間でのリソースへのアクセス
- 2048 文字を超えるリクエスト
- トークン ベース認証によってセキュリティ保護されたリソースへのアクセス
- OAuth 2.0 アプリのログイン
- ログの有効化
- リソースとリファラの両方に基づく評価制限
デフォルトでは、ダウンロードされたアプリは Portal for ArcGIS が提供するプロキシを使用します。 独自のプロキシとルールを指定するには、アプリの構成ファイルで httpProxy プロパティを変更します。httpProxy には、以下の属性が含まれています。
属性 | 説明 |
useProxy | ブール値。オプション。デフォルト: true。false を指定した場合、すべてのリクエストはプロキシを使用しません。 |
URL | 文字列。オプション。プロキシの場所を指定する URL。リクエストがどのプロキシ ルールにも一致しないがプロキシを使用する必要がある場合 (ドメイン間リクエストなど)、このプロキシが使用されます。 |
alwaysUseProxy | ブール値。オプション。プロキシが REST エンドポイントとの通信で常に使用されるかどうかを指定します。デフォルト: false。リクエストがどのプロキシ ルールにも一致せず、プロキシを必要としていない場合、アプリケーションはこのプロパティをチェックしてさらにプロキシの使用方法を決定します。false を指定した場合、リクエストは URL が参照するプロキシを経由しません。true を指定した場合、リクエストは URL が参照するプロキシを経由します。 |
rules | オブジェクト (配列)。オプション。同じ URL 接頭辞を持つ一連のリソースのプロキシを定義します。リクエストの URL がルールに一致する場合、リクエストはプロキシを経由して送信されます。各ルールには、以下の 2 つのプロパティがあります。
|
以下では、上の属性に関してプロキシがどのように動作するかを示します。
- 最初に、アプリは useProxy をチェックします。
- false の場合、すべてのリクエストはプロキシを使用しません。
- true の場合、次にアプリは rules をチェックします。
- リクエストがプロキシ ルールに一致する場合、アプリはルールで設定された proxyUrl を使用します。
- リクエストがどのプロキシ ルールにも一致しないがプロキシを使用する必要がある場合 (ドメイン間リクエストなど)、アプリは URL が参照するプロキシを使用します。
- リクエストがプロキシ ルールに一致せず、プロキシを必要としていない場合、アプリはさらに alwaysUseProxy をチェックします。
- false の場合、リクエストは URL が参照するプロキシを経由しません。
- true を指定した場合、リクエストは URL が参照するプロキシを経由します。
例:
"httpProxy": {
"useProxy": true,
"url": "http://gallery.chn.esri.com/arcgis/sharing/proxy",
"alwaysUseProxy": false,
"rules": [{
"urlPrefix": "http://route.arcgis.com/",
"proxyUrl": "resource-proxy-1.0/DotNet/proxy.ashx"
}]
}
さらに、特定のサーバー側プラットフォーム (ASP.NET、Java/JSP、および PHP) をそれぞれ対象にする 3 つのプロキシが提供されています。使用しているプラットフォームに適したプロキシを GitHub からダウンロードして配置してください。また、詳細については、「プロキシ ページの使用」をご参照ください。