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
この方法を使用して指定されたすべてのオリジンは、設定されたルールよりも優先されます。