クロスオリジンリソースシェアリング (CORS)
クロスオリジンリクエストとは、オリジン外のウェブサイトリソースへのリクエストです。例えば、a.example.com が b.secondexample.com からリソースを提供しようとする場合です。CORSは、ブラウザに対して、b.secondexample.com からの画像やJavaScriptなどのクロスオリジンリクエストが a.example.com によって許可されているかどうかを判断するよう指示します。ブラウザは、CORSによって許可されていないリソースを読み込みません。
CloudflareはCORSを次のようにサポートしています:
Hostヘッダー、Originヘッダー、URLパス、およびクエリに基づいてキャッシュされたアセットを特定します。これにより、異なるリソースが同じHostヘッダーを使用しながら異なるOriginヘッダーを持つことができます。- オリジンサーバーからブラウザに
Access-Control-Allow-Originヘッダーを渡します。
Access-Control-Allow-Origin ヘッダーは、サーバーが外部ドメインとリソースを共有するためのルールを指定できるようにします。サーバーがリソースへのアクセスリクエストを受け取ると、Access-Control-Allow-Origin ヘッダーの値で応答します。Access-Control-Allow-Origin ヘッダーは、キャッシュ可能なコンテンツに適用されることがよくあります。ウェブサーバーは、リクエストで送信された Origin ヘッダーに応じて異なる Access-Control ヘッダーで応答することがあります。
オリジンウェブサーバーでCORS設定を追加または変更した場合、URLによるCloudflareキャッシュのパージはCORSヘッダーを更新しません。次のいずれかのオプションを使用して、Cloudflareに新しいCORSヘッダーを取得させる必要があります:
- キャッシュをバイパスするためにファイル名またはURLを変更し、Cloudflareに最新のCORSヘッダーを取得させます。
- シングルファイルパージAPIを使用して、パージリクエストとともに適切なCORSヘッダーを指定します。
- オリジンサーバーでリソースの最終更新日時を更新します。その後、フルパージを完了して、更新されたCORSヘッダーを含むアセットの最新バージョンを取得します。