重要
Azure CDN Standard from Microsoft (クラシック) は、2027 年 9 月 30 日に廃止されます。 サービスの中断を回避するには、2027 年 9 月 30 日までに Azure Front Door の Standard または Premium レベルに Azure CDN Standard from Microsoft (クラシック) プロファイルを移行することが重要です。 詳細については、Azure CDN Standard from Microsoft (クラシック) の廃止に関するページを参照してください。
Azure CDN from Edgio は、2025 年 1 月 15 日に廃止されました。 詳細については、「Azure CDN from Edgio の廃止に関する FAQ」を参照してください。
CORS とは
CORS (クロス オリジン リソース共有) は、あるドメインで実行されている Web アプリケーションが別のドメイン内にあるリソースにアクセスできるようにする HTTP 機能です。 クロスサイト スクリプティング攻撃の可能性を低減させるために、すべての最新の Web ブラウザーには 同一オリジン ポリシーと呼ばれるセキュリティ制限が実装されています。 この制限により、Web ページは他のドメイン内の API を呼び出すことができません。 CORS を使用すれば、あるオリジン (オリジン ドメイン) から他のオリジン内の API を安全に呼び出すことができます。
しくみ
CORS 要求には、"簡単な要求" と "複雑な要求" の 2 種類があります。
単純な要求の場合:
ブラウザーが、追加の Origin HTTP 要求ヘッダーを含む CORS 要求を送信します。 この要求ヘッダーの値は親ページを提供したオリジンであり、"プロトコル"、"ドメイン"、および "ポート" の組み合わせとして定義されます。HTTPS://www.contoso.com のページが fabrikam.com オリジン内のユーザーのデータにアクセスしようとすると、fabrikam.com に次の要求ヘッダーが送信されます。
Origin: https://www.contoso.com
サーバーからの応答では次のいずれかのヘッダーが返される場合があります。
応答内のAccess-Control-Allow-Originヘッダーには、どのオリジンサイトが許可されているかが示されています。 次に例を示します。
Access-Control-Allow-Origin: https://www.contoso.com
403 などの HTTP エラー コード (Origin ヘッダーの確認後、サーバーによってクロス オリジン要求が許可されなかった場合)
すべてのオリジンを許可するワイルドカードが含まれる Access-Control-Allow-Origin ヘッダー。
Access-Control-Allow-Origin: *
複雑な要求に対して:
複雑な要求は CORS 要求です。この要求で、ブラウザーは実際の CORS 要求を送信する前に、"プレフライト要求" (準備プローブ) を送信します。 プレフライト要求は、サーバーのアクセス許可に対して、元の CORS 要求が処理を実行できるかどうかと、その要求が、同じ URL への OPTIONS
要求かどうかを尋ねます。
ヒント
CORS フローおよびよくある落とし穴の詳細については、CORS for REST API ガイドを参照してください。
ワイルドカードまたは単一のオリジンのシナリオ
Azure CDN の CORS は、Access-Control-Allow-Origin ヘッダーがワイルドカード (*) または単一のオリジンに設定されているときは、追加の構成なしで自動的に動作します。 最初の応答が CDN によってキャッシュされ、以降の要求で同じヘッダーが使用されます。
オリジンに CORS が設定される前に CDN に対し要求が行われている場合、エンドポイント コンテンツのコンテンツを消去して、Access-Control-Allow-Origin ヘッダーでそのコンテンツを再度読み込む必要があります。