CloudFlare-CDN缓存清除


​ 给出了一些api用于清除Cloudflare的CDN缓存方式

​ 搭建个人博客网站时,域名托管到CF,会使用CF的CDN。当你重新修改博客网站的样式css和js文件等再重新部署,一般都不会立马生效,因为CDN里的缓存还在,前端访问用的还是旧css和js文件。这时我们需要主动清除CDN的缓存,来让缓存重新加载,以便让我们修改的样式在网站立马生效

1 purgeUrl

2 使用ApiKey清除(不推荐)

  • ZONE_ID:区域id,即你在CF上托管的根域名id
  • EMAIL:你的邮箱
  • API_KEY:可自建apiKey,也可使用CF默认有的GlobalApiKey(个人资料 -> API令牌 -> API密钥 -> Global API Key

2.1 全部清除

curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/purge_cache \
    -H 'Content-Type: application/json' \
    -H "X-Auth-Email: $EMAIL" \
    -H "X-Auth-Key: $API_KEY" \
    -d '{"purge_everything": true}'

2.2 批量清除具体文件

一次性调用有文件数量限制: Free/Pro/Business一次上限30个,Enterprise一次上限500个

curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/purge_cache \
    -H 'Content-Type: application/json' \
    -H "X-Auth-Email: $EMAIL" \
    -H "X-Auth-Key: $API_KEY" \
    -d '{
    "files": [
        "https://blog.shanzhao.site/css/my.css",
        "https://blog.shanzhao.site/libs/others/snow.js"
    ]
}'

3 自定义token清除(推荐)

自定义token不仅可以最小化的控制权限,也可以设置token的有效时常。使用如下方式创建一个专用于清理指定根域名的token

3.1 验证token是否生效

curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
     -H "Authorization: Bearer $API_TOKEN" \
     -H "Content-Type:application/json"

3.2 全部清除

curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/purge_cache \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $API_TOKEN" \
    -d '{"purge_everything": true}'

3.3 批量清除具体文件

一次性调用有文件数量限制: Free/Pro/Business一次上限30个,Enterprise一次上限500个

curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/purge_cache \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $API_TOKEN" \
    -d '{
    "files": [
        "https://blog.shanzhao.site/css/my.css",
        "https://blog.shanzhao.site/libs/others/snow.js"
    ]
}'

4 其他

还有其他的参数,比如tags,hosts,prefixes,但这些都是企业版的用户才能使用,这里就不写了

5 参考链接