node.js - 即使 header 为 "Cache-Control: public, max-age=86400",Cloudflare 也不会缓存文件

标签 node.js nginx caching cloudflare

当我使用curl命令时,所有 header 都是正确的,但文件没有缓存

CF-Cache-Status: MISS

通过curl命令显示。

> < HTTP/1.1 200 OK < Date: Sat, 02 Jun 2018 05:57:28 GMT <
> Content-Type: image/png < Content-Length: 2293 < Connection:
> keep-alive < Set-Cookie:
> __cfduid=d3cf179afd212660124585350d19e88c81527919048; expires=Sun, 02-Jun-19 05:57:28 GMT; path=/; domain=.mayan.cf; HttpOnly <
> X-Powered-By: Express < Accept-Ranges: bytes < Cache-Control: public,
> max-age=86400 < Last-Modified: Fri, 01 Jun 2018 15:39:06 GMT < ETag:
> W/"8f5-163bc009a0c" < CF-Cache-Status: MISS < Expires: Sun, 03 Jun
> 2018 05:57:28 GMT < Server: cloudflare < CF-RAY: 4247aec4300930f6-SIN
> <  { [1905 bytes data]
> * Connection #0 to host mayan.cf left intact

最佳答案

Cloudflare 使用一些启发式方法,仅根据请求来尝试猜测内容是静态(可缓存)还是动态。如果它在请求时猜测错误,它不会缓存响应。您可以通过将页面规则“缓存级别”设置为“缓存所有内容”来禁用此启发式 - 然后 Cloudflare 将假定响应始终可缓存。

尝试设置页面规则并查看是否有帮助。

关于node.js - 即使 header 为 "Cache-Control: public, max-age=86400",Cloudflare 也不会缓存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50654012/

相关文章:

amazon-web-services - 使用 nginx 将 Elastic Beanstalk HTTP 请求重定向到 HTTPS

python - 使用 Nginx 在树莓派上部署 Flask

performance - 是否建议使用 Redis 或 Memcached 作为 FILES 的缓存?

带有参数的Javascript函数有一个函数吗?

node.js - jenkins 管道的 docker 容器内的 sudo 权限

javascript - 在PHP环境中安装和使用Gulp?

javascript - 使用 Hapijs 处理和发送大量数据

django - 权限被拒绝,无法打开静态文件,Docker,Django

php - 操作码缓存实际上是如何工作的?

javascript - jQuery 是否在内部缓存元素?