Cloudflare 未按预期缓存

Wud*_*ong 7 cache cloudflare

我想知道为什么 Cloulflare 不会缓存某个静态 js 文件。

鉴于要求:

curl -I http://www.testlifeinuk.com/dist/lifeinuk.js
Run Code Online (Sandbox Code Playgroud)

标题返回如下:

HTTP/1.1 200 OK
Date: Mon, 12 Jan 2015 10:59:21 GMT
Content-Type: application/javascript
Connection: keep-alive
Set-Cookie: __cfduid=d11a9f01292153436a211a9d807a3399b1421060361; expires=Tue, 12-Jan-16 10:59:21 GMT; path=/; domain=.testlifeinuk.com; HttpOnly
X-Powered-By: Express
Etag: W/"507660-1420797981000"
Cache-Control: public, max-age=1382400
Last-Modified: Fri, 09 Jan 2015 10:06:21 GMT
Vary: Accept-Encoding
Via: 1.1 vegur
CF-Cache-Status: MISS
Expires: Wed, 28 Jan 2015 10:59:21 GMT
Server: cloudflare-nginx
CF-RAY: 1a78d818b4af0b81-LHR
Run Code Online (Sandbox Code Playgroud)

令我困惑的是,无论我做了多少次请求,它总是返回

CF-Cache-Status: MISS
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

Mic*_*elo 6

您必须在 CloudFlare 管理面板中设置页面规则。使用页面规则的第一步是定义一个模式,该模式定义何时触发规则。这些模式可以很简单,例如单个 URL,也可以很复杂,包括多个通配符。想象一下,您有一个只有一个 URL 的内容管理系统:

http://www.testlifeinuk.com
Run Code Online (Sandbox Code Playgroud)

现在,如果您尝试使用 URL 模式创建规则:

http://www.testlifeinuk.com
Run Code Online (Sandbox Code Playgroud)

只有主页会被缓存!

如果你想缓存整个网站,你必须以这种方式使用通配符:

 *testlifeinuk.com/*
Run Code Online (Sandbox Code Playgroud)

这样,所有页面和资源都将被 Cloudflare 缓存,如下所示:

http://www.testlifeinuk.com/dist/lifeinuk.js
http://www.testlifeinuk.com/mypage.html
https://www.testlifeinuk.com/mypage.html
https://testlifeinuk.com/mypage.html
Run Code Online (Sandbox Code Playgroud)

标题的结果将是:

HTTP/1.1 200 OK
Date: Mon, 25 May 2015 10:21:05 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.4.39-0+deb7u2
Expires: Mon, 25 May 2015 10:51:05 GMT
Cache-Control: public, max-age=1800
Pragma: no-cache
Vary: Accept-Encoding
CF-Cache-Status: HIT            <<<<< Look this parameter
Server: cloudflare-nginx
CF-RAY: 1ec082ee43150e60-MXP
Content-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)

问候

  • 我相信这是不正确的。CloudFlare 默认缓存静态文件,如 js/css,但不缓存 HTML 页面。在此处查看信息 https://support.cloudflare.com/hc/en-us/articles/200168216--Does-CloudFlare-cache-HTML-content- (4认同)