クロスオリジン・リソース・シェアリング (CORS) を有効にする
- English
- 日本語
クロスオリジン・リソース・シェアリング (CORS) を有効にすることで、他のオリジンがサーバーからスクリプトやスタイルシートなどのサブリソースをリクエストできることを示すことができます。これらのオリジンは、異なるスキーム (HTTP または HTTPS) または、全く異なるドメインあるいはポートを使用する可能性があります。このガイドは、シンプルなシナリオで有効な Access-Control-Allow-Origin ヘッダーの追加方法を説明します。このヘッダーは、Amazon S3 や Google Cloud Storage などの静的なバケットプロバイダーをオリジンとして使用する場合に便利です。
CORS を有効化するには、以下の手順に従ってカスタム HTTP ヘッダーを設定します。
Fastly コントロールパネルにログインします。
Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
Edit configuration をクリックし、アクティブなバージョンをクローンするオプションを選択します。
Content をクリックします。
Create header をクリックします。

Create a header コントロールで以下の操作を実行します。すべてのオリジンのヘッダーを作成しているか、特定のオリジンのヘッダーを作成しているかによって、操作方法は変わります。
| このコントロールの場合 | 任意のオリジンのヘッダーを作成するとき | 特定のオリジンのヘッダーを作成するとき |
|---|---|---|
| Name | 新しいヘッダーを表す、わかりやすい名前を入力します。(例: CORS S3 Allow)。 | 新しいヘッダーを表す、わかりやすい名前を入力します。(例: CORS S3 Allow)。 |
| Type | Cache を選択します。 | Response を選択します。 |
| Action | Set を選択します。 | Set を選択します。 |
| Destination | http.Access-Control-Allow-Origin を入力します。 | http.Access-Control-Allow-Origin を入力します。 |
| Source | "*" を入力します。 | 特定のオリジンを入力します (例: https://example.com)。 |
| Ignore if set | 値をデフォルトのままにします。 | 値をデフォルトのままにします。 |
| Priority | 値をデフォルトのままにします。 | 値をデフォルトのままにします。 |
CORS のルールが vcl_deliver に確実に適用されるよう Source フィールドに単一のオリジンを指定すると、システムは vcl_deliver の下に set resp.http.Access-Control-Allow-Origin = "<specified origin>"; として VCL を生成します。
- Create をクリックします。Content ページに新しいヘッダーが表示されます。
Activate をクリックして設定への変更をデプロイします。
テストする
以下のコマンドを実行します。
$ curl -I example.tld/path/to/resourceヘッダーに以下のような情報が含まれる必要があります。
Access-Control-Allow-Origin: http://example.tldAccess-Control-Allow-Methods: GETAccess-Control-Expose-Headers: Content-Length, Connection, Date...Access-Control-Allow-Methods と Access-Control-Expose-Headers は CORS で追加できる追加ヘッダーの一例です。これらのヘッダーの詳細については、MDN Web Docs を確認してください。