我可以通过 Cloudflare 的 API 清除缓存 https://developers.cloudflare.com/api/operations/zone-purge
使用此功能:
https://gist.github.com/Greg-Boggs/73796406278cd67334db08dc052931dd
我收到一条清除成功的消息。
但是是否有可能 - 使用 Cloudflare API 或其他方法 - 获取上次清除缓存的 timestamp ?或者返回缓存的年龄?或者以某种方式找到上次成功清除缓存的时间?
我认为最简单的方法是查看审核日志,我现在测试了它,并有一个事件“2024年10月6日清除所有内容”。
可以通过 API 检索审核日志,并且您可以指定必要的事件,如下所示:
curl -X GET "https://api.cloudflare.com/client/v4/accounts/{account_id}/audit_logs" \
-H "Authorization: Bearer {your_api_token}" \
-H "Content-Type: application/json" \
--data '{"action":"purge_cache"}'
第二个选项是使用 Cloudflare Logs,但它仅适用于 Enterprise 计划。
对于检查 HTTP 响应的标头也可能有用,通常它们包含
CF-Cache-Status
和
Age
。这些标头可用于查找每个资源的缓存期限。