Cloudflare 和 Cache-Control 行为用于缓存完整的网页吗?

Cloudflare 和 Cache-Control 行为用于缓存完整的网页吗?

我正在尝试使用 Cloudflare,主要是为了在高峰时段重温我的网络服务器的负载。我刚刚注册,它似乎正在运行(我的所有流量都被代理了),但 Cloudflare 似乎没有缓存任何东西。

我的 Web 服务器明确发送了 Cache-Control 标头,其变化范围在 1 分钟(即 Cache-Control:max-age=60,public)到 7 天之间。我希望这样我的 Web 服务器就不会在一分钟内两次提供完全相同的页面。但是,如果我查看 Web 服务器的 apache 日志,每个请求都会直接代理到 Web 服务器,即使我在一分钟内多次请求完全相同的资源。

这是预期的行为吗?如何让 CF 提供我的网站的缓存版本?

答案1

我实际上在 CloudFlare 工作并且想加入其中。

-请记住,缓存需要几天时间才能建立,并且这取决于静态资源的请求数量。

-还有一点要记住,我们只会代理您在 DNS 设置中设置的内容(子域上的橙色云)。例如,如果您有图像或 CDN 子域,您需要确保它已添加到 CloudFlare 中并被橙色云覆盖。

答案2

CloudFlare 在请求中发送了哪些标头?它可能只是试图重新验证内容(如果它发送Cache-Control: max-age自己的标头),并且在其控制面板中可能会有一些选项可以关闭此功能。

如果每次都发出一个全新的请求,那么我敢说您几乎肯定没有正确设置标头(将 改为,;或类似的简单设置),这会让 CF 感到不安。在这种情况下,您最好上传tcpdump -s 0CF 和 Web 服务器之间的一些请求/响应的数据包转储(用于捕获整个对话),以便我们检查标头并告诉您遗漏了什么。

相关内容