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,但这些都是企业版的用户才能使用,这里就不写了