从 Cloudflare 中清除缓存的资源

了解如何使用您的 Cloudflare 计划提供的清除方法,清除 Cloudflare 缓存的资源。


概述

通过 Cloudflare 管理面板中的 Caching 页面可以按单文件(推荐)、主机名或缓存标记(仅适用于 Enterprise 计划)清除缓存的资源,或清除缓存的所有内容。所有客户都可按单文件清除(按 URL)或清除缓存的所有资产。Cloudflare Enterprise 客户还可以使用主机名和缓存标记来清除缓存内容。


按单文件清除(按 URL)

当您在 Caching 页面中选择按 URL(单文件)清除时,缓存的内容会立即从您在所有数据中心的内容交付网络 (CDN) 中保存的资产中移除。若有针对已清除资产的任何新请求,系统将从您的源 Web 服务器中获取最新版本,并将其添回到服务于该请求的特定 Cloudflare 数据中心内的 CDN 缓存中。

重要说明! 通过 Cloudflare 仪表板执行的单文件缓存清除不会清除包含以下内容的对象:

  • 自定义缓存键
  • 源标头
  • 以下任何响应标头:
    • X-Forwarded-Host
    • X-Host
    • X-Forwarded-Scheme
    • X-Original-URL
    • X-Rewrite-URL
    • Forwarded

您可以通过 API 调用(按 URL 清除文件)来清除具有这些特性的对象。

您必须在 API 调用的 data/header 部分中声明缓存对象包含的所有标头和缓存键以及它们的匹配值。

单文件缓存清除的 URL 必须使用 UTF-8 编码。

通过 Cloudflare 仪表板按单文件清除

1. 登录 Cloudflare,然后选择包含待清除资源的站点。

2. 单击Caching页面。

3. 在 Purge Cache 面板中,单击 Custom Purge

系统会显示 Custom Purge 对话框。

4. 在Purge by 字段中选择 URL

5. 使用示例中的格式类型,在文本框中输入相应值。

6.按照任何其他说明完成表格。

7.查看您的条目。

8.单击 Purge


清除所有

为了保持最优的站点性能,我们强烈建议使用单文件(按 URL)清除,而不是完全清除缓存。

若选择清除所有内容,将清除所有 Cloudflare 数据中心的 CDN 缓存中的所有资源。收到针对已清除资源的每个新请求时,系统都将返回到您的源站以验证资源。如果 Cloudflare 无法验证资源,则将从源站获取最新版本,并使用最新版本替换缓存的版本。当流量大的站点包含大量资产时,向您的源站请求的次数可能会大大增加,从而可能导致站点性能下降。

通过 Cloudflare 仪表板清除所有内容

提醒: 强烈推荐执行单文件清除。

1. 登录 Cloudflare,然后选择包含待清除资源的站点。

2. 单击Caching页面。

3. 在 Purge Cache 面板中,单击 Purge Everything

系统会显示警告对话框。

4. 如果您同意,则单击 Purge Everything


通过 API 清除缓存的资源

您可以使用这些  Cloudflare API 实现自动或通过脚本轻触缓存:


使用 Cache-Tag(仅适用于 Cloudflare Enterprise)清除

通过缓存标记清除,可更轻松实现多文件清除。您可以通过向您的资产(网页、图像文件等)添加缓存标记实现批量清除。

主机名和标记清除只适用于 Cloudflare Enterprise。

Cache-Tag 的工作方式

使用缓存标记的一般工作流程如下:

  1. 针对您的 Web 内容(页面、静态资产等),为来自您的源 Web 服务器的 Cache-Tag HTTP 响应标头添加标记。
  2. 确保您的 Web 流量通过 Cloudflare 代理
  3. Cloudflare 将 Cache-Tag HTTP 标头中的标记与正在缓存的内容关联起来。
  4. 通过您的管理面板或 使用我们的 API,使用特定的缓存标签清除 Cloudflare CDN 缓存中包含该缓存标签的所有内容。
  5. Cloudflare 针对带有已清除缓存标记的内容强制缓存失效
请谨慎清除! 缓存失效将需要向您的源站获取内容,从而导致执行延迟。

添加 Cache-Tag HTTP 响应标头

您可以通过 Cache-Tag HTTP 响应标头向您的 Web 内容添加缓存标记。您使用 HTTP 标头允许客户端和服务器在请求或响应中传递其他信息。HTTP 标头由不区分大小写的特定名称,后跟冒号 ( : ) 和有效值组成,例如 Cache-Tag:tag1,tag2,tag3。正如所示,若想使用多个缓存标记,您可以用逗号将它们分开。

当您的内容到达我们的边缘网络时,Cloudflare 将:

  • 移除 Cache-Tag HTTP 标头,然后将响应发送给您的网站访问者。

您的最终用户不会在启用 Cloudflare 的网站上看到 Cache-Tag HTTP 标头。

  • 移除标头中的空格以及缓存标记名称前后的任何空格:

tag1, tag2 与 tag1,tag2 将被视为一样。

  • 在应用缓存标记前移除所有重复和结尾的逗号:

 tag1,,,tag2 与 tag1,tag2 将被视为一样。

需要记住:

  • 单个 HTTP 响应可能有多个 Cache-Tag HTTP 标头字段。
  • 缓存标记的最小长度为 1 个字节。

各标签没有最大长度,但标头字段名称后的聚合 Cache-Tag HTTP 标头不能超过16 KB,大约为 1000 个唯一标签。长度包括空格和逗号,但不包括标头字段名称。

  • 对于缓存清除,API 调用中缓存标签的最大长度为 120 个字符。
  • Cache-Tag HTTP 标头必须接受 RFC-5987 中指定的 HTTP 标头允许的所有有效字符。
  • 缓存标记中不允许有空格。
  • 不区分大小写:

Tag1 与 tag1 将被视为一样。

在您的 Cloudflare 仪表板中使用缓存标记清除

1. 登录 Cloudflare,然后选择包含待清除资源的站点。

2. 单击Caching页面。

3. 在 Purge Cache 面板中,单击 Custom Purge

系统会显示 Custom Purge 对话框。

4. 在 Purge by 部分中选择 Tag

5. 在文本框中输入您的标记,以用于清除缓存的资源。

要清除带有多种缓存标记的资源,用逗号分隔标记或每个标记一行。

6.单击 Purge

通过 Cloudflare API 使用缓存标或主机名清除

请参阅我们的文档,或使用按缓存标记或主机名 API 从您的 CDN 中移除缓存的资产。一次 API 调用可使用最多 30 个缓存标记,24 小时内可进行 30000 次清除 API 调用。


相关资源

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

由 Zendesk 提供技术支持