清除 CDN 缓存 cdn-purge-cache

清除会从AdobeCDN缓存中移除对象,从而导致将来的请求作为缓存缺失继续前往原点,而不是从缓存提供服务。
AEM as a Cloud Service允许您配置清除API令牌,然后将其用于清除API调用。 阅读配置CDN凭据和身份验证以了解如何使用Cloud Manager配置管道身份验证指令配置此令牌。

有三个受支持的清除变体:

所有清除变体共享以下内容:

  • HTTP方法必须设置为PURGE
  • 该URL可以是与清除请求所针对的AEM服务关联的任何域。
  • 必须在HTTP标头中提供X-AEM-Purge-Key
CAUTION
清除CDN缓存(尤其是使用硬标志)将增加源位置的流量,并且在未正确执行时可能导致中断。

您可以引用教程,该教程侧重于配置清除密钥和执行CDN缓存清除。

单个URL清除 single-purge

您可以按如下方式一次清除单个资源:

curl
-X PURGE "https://publish-p1234-e5467.adobeaemcloud.com/resource-path" \
-H 'X-AEM-Purge-Key: <my_purge_key>' \
-H 'X-AEM-Purge: soft'

如上面的示例所示,您可以​ 可选 ​指定CDN是否应对缓存的对象执行​ ​清除(默认)或​ ​清除。

默认硬清除会使得新请求立即无法访问内容,直到从源中检索内容为止。 软清除将内容标记为已过时,但仍会向客户端提供内容,因此客户端不需要等待内容从源中检索出来。

代理项清除 surrogate-key-purge

替代键是用于清除一组内容的唯一标识符。 它们通过将Surrogate-Key标头添加到响应来应用于内容。 可以在清除API调用中引用一个或多个代理键。

curl
-X PURGE "https://publish-p1234-e5467.adobeaemcloud.com" \
-H 'X-AEM-Purge-Key: <my_purge_key>' \
-H "Surrogate-Key: my-surrogate-key"
-H "X-AEM-Purge: soft" #optional

Surrogate-Key用空格分隔。 与单个URL清除类似,您可以配置硬清除或软清除。

完全清除 full-purge

您可以按如下方式完全清除所有缓存的资源:

curl
-X PURGE "https://publish-p1234-e5467.adobeaemcloud.com" \
-H 'X-AEM-Purge-Key: <my_purge_key>' \
-H "X-AEM-Purge: all"

请注意,X-AEM-Purge标头必须包含“all”值。

与客户管理的CDN交互

如果是客户管理的CDN,还需要提供X-Forwarded-HostX-AEM-Edge-Key

curl
-X PURGE "https://publish-p1234-e5467.adobeaemcloud.com/resource-path" \
-H 'X-AEM-Purge-Key: <my_purge_key>' \
-H 'X-AEM-Edge-Key: <my_edge_key>' \
-H 'X-Forwarded-Host: <my_forwarded_domain>'

与Apache/Dispatcher层的交互 apache-layer

内容交付流程中所述,如果缓存已过期,则CDN将从Apache/Dispatcher层检索内容。 这意味着在CDN上清除资源之前,您应确保在Dispatcher上也提供了内容的新版本。 有关详细信息,另请参阅Dispatcher缓存无效

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab