search
LoginSignup
1

More than 1 year has passed since last update.

Organization

Cloudflareのキャッシュをコマンドから手っ取り早くパージする (APIトークン利用)

株式会社シンプルウェイ Advent Calendar 2020 の7日目です。

参加人数少ないのでカレンダーに穴があきそう。。。


Cloudflare便利ですね。無料でキャッシュつきリバースプロキシが使えるなんて素敵です。

Cloudflareでキャッシュを活用する目的は、負荷対策だったり転送量対策だったりするので、キャッシュ対象のファイル範囲が広かったり時間が長かったりと、大概キャッシュを強めに設定すると思います。

ところで、キャッシュを強めにするとコンテンツを更新したときに反映されるまでのタイムラグが気になります。管理画面からキャッシュパージすればすぐに反映させることは可能ですが、いちいちログインするのが面倒です。

そんなときにはAPIを使ってコマンド一発でキャッシュ削除しちゃいましょう。

APIトークンの準備

APIの実行はトークンを利用することとし、トークンには特定サイトのキャッシュパージのみ実行できる権限にしておきます。万が一トークンが漏洩しても影響を最小限にできます。

まずCloudflareのAPIダッシュボードにアクセスします。

「トークンを作成する」ボタンを選択します。

「トークンを作成する」ボタン

「カスタム トークン」セクションの「始める」ボタンを選択します。

「カスタム トークン」セクションの「始める」ボタン

画像のようにAPIトークンの権限を設定します。

APIトークンの権限設定

確認画面で「トークンを作成する」ボタンを選択します。

「トークンを作成する」ボタン

発行されたトークンをメモしておきます。

トークンをメモ

ゾーンIDの確認

次にサイトのゾーンIDを確認します。

サイト設定のダッシュボード画面右下に表示されているゾーンIDをメモしておきます。

ゾーンID

パージコマンド

おもむろに下記コマンドを実行します。

curl -X POST "https://api.cloudflare.com/client/v4/zones/[ゾーンID]/purge_cache" -H "Authorization: Bearer [APIトークン]" -H "Content-Type: application/json" --data '{"purge_everything":true}' 

[ゾーンID] と [APIトークン] は上でメモした値に置き換えてください。

JSONがレスポンスされるので、その中に "success": true が含まれていれば成功です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1