1.4. クロスオリジンリソースシェアリング (CORS) リクエスト
Data Grid REST コネクターは、プリフライトやリクエストの発信元に基づくルールなど、 CORS をサポートします。
以下に、CORS ルールを使用した REST コネクター設定の例を示します。
<rest-connector name="rest1" socket-binding="rest" cache-container="default"> <cors-rules> <cors-rule name="restrict host1" allow-credentials="false"> <allowed-origins>http://host1,https://host1</allowed-origins> <allowed-methods>GET</allowed-methods> </cors-rule> <cors-rule name="allow ALL" allow-credentials="true" max-age-seconds="2000"> <allowed-origins>*</allowed-origins> <allowed-methods>GET,OPTIONS,POST,PUT,DELETE</allowed-methods> <allowed-headers>Key-Content-Type</allowed-headers> </cors-rule> </cors-rules> </rest-connector>
Data Grid は、ブラウザーが設定した "Origin "ヘッダに基づいて CORS ルールを順次評価します。
前述の例では、オリジンが http://host1 または https://host1 のいずれかであれば、ルール restrict host1 が適用されます。オリジンが異なる場合は、次のルールがテストされます。
"allow ALL"ルールはすべてのオリジンを許可するため、"http://host1" または"https://host1" 以外のオリジンを持つスクリプトは、許可されたメソッドを実行し、提供されたヘッダーを使用することができます。
CORS ルールの設定については、Data Grid サーバー設定スキーマ を参照してください。
1.4.1. 一部のオリジンに対してすべての CORS パーミッションを許可する
VM プロパティーの infinispan.server.rest.cors-allow
は、サーバーの起動時に使用して、1 つまたは複数のオリジンにすべてのパーミッションを許可することができます。以下に例を示します。
./bin/server.sh -Dinfinispan.server.rest.cors-allow=http://192.168.1.78:11222,http://host.mydomain.com
この方法を使用して指定されたすべてのオリジンは、設定されたルールよりも優先されます。