API を利用した URL パージリクエストの認証

Fastly の URL パージ機能では、Web サイトで個々の URL をパージすることができます。デフォルトでは、Fastly API を利用して URL をパージする際に認証は要求されませんが、ヘッダーを追加するか、カスタム VCL を使用することで、Fastly コントロールパネルから API トークン認証を有効にできます。

制約と考慮事項

この機能には以下のような考慮すべき制約と考慮事項があります。

  • URL パージ認証は、Fastly コントロールパネルの Purge URL オプションと互換性がありません。パージ認証を有効にすると、Purge URL インターフェイスが使用時にエラーを返します。
  • このガイドで概説されているソリューションは、URL パージリクエストで認証を必要とするすべてのサービスに実装する必要があります。アカウントレベルでパージ認証を有効にするには、support@fastly.com までお問い合わせください。

Fastly コントロールパネルで認証を有効にする

URL パージリクエストの API トークン認証を有効にするには、Fastly コントロールパネルでヘッダーを追加し、オプションで条件を付加します。

ヘッダーの追加

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Content をクリックします。Content ページが表示されます。
  5. Create header ボタンをクリックしてください。Create a header 設定画面が開きます。

    Create a header window

  6. 以下のように、Create a header ウィンドウの各フィールドに入力します。
    • Name フィールドには、ヘッダールールの名前を入力します (例:Fastly Purge)。
    • Type メニューから Request を選択し、Action メニューから Set を選択します。
    • Destination フィールドに、http.Fastly-Purge-Requires-Auth と入力します。
    • Source フィールドに "1" と入力します。
    • Ignore if set メニューから No を選択します。
    • Priority フィールドに 10 を入力します。
  7. Create ボタンをクリックします。

条件の追加

オプションで以下の条件を追加することができます。条件を指定しない場合、作成したヘッダーがすべてのリクエストに追加されます。次の条件を指定することで、ヘッダーはパージリクエストのみに追加されます。

  1. Content ページで、作成した新規ヘッダーの右側にある Attach a condition リンクをクリックします。Create a new request condition ウィンドウが表示されます。

    Create a new request condition window

  2. Create a new request condition フィールドに以下のように入力します。
    • Name フィールドに、新しい条件を説明する名前を入力します (例:Purge)。
    • Apply if フィールドに、req.request == "FASTLYPURGE" と入力します。
  3. Save and apply to ボタンをクリックします。
  4. Activate ボタンをクリックして設定変更をデプロイします。

VCL スニペットによる認証の有効化

URL パージリクエストの API トークン認証は VCL スニペットを使用して有効にすることもできます。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. VCL Snippets リンクをクリックします。VCL Snippets ページが表示されます。
  5. Create Snippet をクリックします。Create a VCL snippet ページが表示されます。

    enabling API authentication vcl snippet

  6. Name フィールドに、適切な名前 (例:Purge Require Auth) を入力します。
  7. Type オプションから、within subroutine を選択します。
  8. Select subroutine メニューから、recv (vcl_recv) を選択します。
  9. VCL フィールドに、以下の条件を追加します。

    1
    2
    3
    
    if (req.request == "FASTLYPURGE") {
        set req.http.Fastly-Purge-Requires-Auth = "1";
    }
    
  10. Create をクリックすると、スニペットが作成されます。
  11. Activate ボタンをクリックして設定変更をデプロイします。

API トークンによる URL のパージ

URL パージリクエストの API トークン認証を有効にしたら、以下のように API による URL のパージリクエストAPI トークンを提供する必要があります。

1
curl -X PURGE -H Fastly-Key:FASTLY_API_TOKEN https://www.example.com/

次のようなレスポンスが返されます。

1
{"status": "ok", "id": "1234567890"}
Back to Top