gpt4 book ai didi

caching - Google Cloud CDN "Force Cache All Content"不缓存所有内容

转载 作者:行者123 更新时间:2023-12-04 14:54:13 25 4
gpt4 key购买 nike

我正在为我的 WordPress 网站使用 Google Cloud CDN https://cdn.datanumen.com .我已启用“强制缓存所有内容”选项。但是,网页、css 文件、javascript 文件仍未缓存。仅缓存图像。
例如,我在 https://cdn.datanumen.com/ 处测试页面,我已经多次使用Ctrl + F5刷新网页,但总是得到相同的结果。
以下是我尝试加载的网页:
enter image description here
响应头中有“Cache-Control”字段,但没有“Age”字段。根据 Google 文档,如果缓存命中并提供缓存内容,则会出现“年龄”字段。所以没有“年龄”意味着文件没有被缓存。
我还检查了日志:
enter image description here
在日志中,cacheFillBytes 为 26776,cacheLookup 为 true。似乎 Google CDN 正在尝试查找缓存并用内容填充缓存。但是 statusDetails 显示“response_sent_by_backend”,所以内容仍然从后端提供。通常这应该只在我第一次访问网站时发生。但是对于我的情况,即使我多次按 Ctrl + F5 刷新我的网站,我也总是得到相同的结果,statusDetails 永远不会显示“response_sent_by_cache”等页面,例如 https://cdn.datanumen.com/
为什么?
更新:
我注意到响应头中有一个“Vary”字段:
enter image description here
基于 https://cloud.google.com/cdn/docs/caching#non-cacheable_content , 如果 Vary header 的值不是 Accept、Accept-Encoding 或 Origin,则不会缓存内容,因为对于我的情况,“Vary” header 是“Accept-Encoding,Cookie,User-Agent”,它不是缓存。但我的问题是如何处理问题并强制缓存内容?
更新 2
我已将该站点更改为真正的 WordPress 站点,因为这是我最终需要的。我计划使用 Google Cloud CDN 购买的支持,看看他们是否可以帮助解决这个问题。

最佳答案

根据 Google Cloud CDN 的 documentation ,解决您的问题的最佳方法实际上是使用 CACHE_ALL_STATIC 缓存模式:

  • CACHE_ALL_STATIC :自动缓存没有 no-store 或 private 指令的静态内容。设置有效缓存指令的源响应也被缓存。这是使用 gcloud 命令行工具或 REST API 创建的启用 Cloud CDN 的后端的默认行为。
  • USE_ORIGIN_HEADERS :需要原始响应来设置有效的缓存指令和有效的缓存 header 。没有这些指令的响应是从源转发的。
  • FORCE_CACHE_ALL :无条件缓存响应,覆盖由源设置的任何缓存指令。如果后端提供私有(private)的、针对每个用户的内容(例如动态 HTML 或 API 响应),则此模式不合适。

  • 但是在最后一种缓存模式的情况下,有 两个警告 关于它的用法:
  • 当您将缓存模式设置为 FORCE_CACHE_ALL 时,内容缓存的默认生存时间 (TTL) 为 3600 秒(1 小时) , 除非您明确设置了不同的 TTL。接受 1 小时的新默认 TTL 可能会导致一些以前被认为是新鲜的条目(由于来自原始 header 的 TTL 更长)现在被认为是陈旧的。
  • FORCE_CACHE_ALL 模式覆盖 缓存指令(缓存控制和过期)但是 不会覆盖其他原始响应 header .特别是,Vary header 仍然受到尊重,即使存在 FORCE_CACHE_ALL 也可能会抑制缓存。有关详细信息,请参阅更改 header 。
  • 关于caching - Google Cloud CDN "Force Cache All Content"不缓存所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68447859/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com