这是我的情况:
我有一个在远程服务器上使用大量图像的webapp。我的Web应用程序位于Cloudflare后面,尽管托管图像的服务器不是。.并且此服务器可能非常慢。每张图片有时可能需要5秒钟。
我想使用Cloudflare将请求代理到该外部服务器,但也要无限期或至少尽可能长地缓存它们。这些图像永远不会改变,所以我不介意它们具有较长的缓存寿命。
这是我应该在工人中设置的东西吗?作为页面规则?还是只是不以这种方式使用CLoudflare?
答案 0 :(得分:0)
我认为您通常只希望图像上的缓存头很长。像这样:
Cache-Control: public; max-age=31536000
答案 1 :(得分:0)
如果您无法更改原始服务器标头,则可以尝试在工作线程中遵循以下代码段:
fetch(event.request, { cf: { cacheTtl: 300 } })
根据docs:
此选项强制Cloudflare缓存此请求的响应, 不管在响应中看到什么标题。这是 等效于设置两个页面规则:“边缘缓存TTL”和“缓存” 级别”(以“缓存所有内容”)。