Liberty サーバーでの Cross Origin Request Sharing の構成
Liberty サーバーで Web アプリケーションに Cross Origin Request Sharing (CORS) を有効にすることができます。
このタスクについて
CORS を有効にすると、JavaScript クライアントは、 クライアントとサーバーが 2 つの異なるドメイン上にあっても、Liberty サーバー上のアプリケーションに対して要求を行うことができます。 Web ブラウザーは同一オリジン・ポリシーのため、こうした要求を回避します。
手順
- デプロイされたアプリケーションに必要なすべてのフィーチャー (servlet-3.0 や jaxrs-1.1 など) がサーバー構成に指定されていることを確認してください。また、デプロイされたアプリケーションにとって、ポートおよびユーザー・レジストリーの設定が正しいことも確認してください。
- server.xml ファイルに CORS サービス設定を追加します。 cors エレメントでは、domain でセットアップされる URL の CORS 設定を定義します。
例
以下に、sampleApp/path コンテキスト・ルートでの Web アプリケーションの CORS 構成の例を示します。
<cors domain="/sampleApp/path"
allowedOrigins="https://alice.com:8090"
allowedMethods="GET, DELETE, POST"
allowedHeaders="accept, MyRequestHeader1"
exposeHeaders="MyResponseHeader1"
allowCredentials="true"
maxAge="3600" />
以下に、RESTful エンドポイント /ibm/api/collective の CORS 構成の例を示します。 この設定は、ibm/api/collective/docs など、/ibm/api/collective で始まるすべてのエンドポイント・パスに適用されます。
<cors domain="/ibm/api/collective"
allowedOrigins="https://alice.com:8090"
allowedMethods="GET, DELETE, POST"
allowedHeaders="accept, MyRequestHeader1"
exposeHeaders="MyResponseHeader1"
allowCredentials="true"
maxAge="3600" />