コンテンツにスキップ

クロスオリジンリソースシェアリング (CORS)

クロスオリジンリクエストとは、オリジン外のウェブサイトリソースへのリクエストです。例えば、a.example.comb.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ヘッダーの追加または変更

オリジンウェブサーバーでCORS設定を追加または変更した場合、URLによるCloudflareキャッシュのパージはCORSヘッダーを更新しません。次のいずれかのオプションを使用して、Cloudflareに新しいCORSヘッダーを取得させる必要があります:

  • キャッシュをバイパスするためにファイル名またはURLを変更し、Cloudflareに最新のCORSヘッダーを取得させます。
  • シングルファイルパージAPIを使用して、パージリクエストとともに適切なCORSヘッダーを指定します。
  • オリジンサーバーでリソースの最終更新日時を更新します。その後、フルパージを完了して、更新されたCORSヘッダーを含むアセットの最新バージョンを取得します。