• home > tools > cloudServices > CDN >

    Cloudflare的PageRule设置规则详解:静态页面资源缓存配置

    Author:zhoulujun Date:

    cloudflare的PageRule非常强大,可以基于路径去设置各种配置,不只是缓存。官方教程很详细但是太长,个人基于官方说明做精简,短文读懂CF的PageRule配置。比如html js css images缓存时间都可以设置不同的配置。php、jsp缓存又不一样

    cloudflare官方教程: https://support.cloudflare.com/hc/zh-cn/articles/218411427-Page-Rule-教程

    这么说明很详细,但是太长,个人基于官方说明做精简

    PageRule-页面路径匹配规则

    Page Rule 使您能够根据页面的 URL 进行各种操作,例如创建重定向、微调缓存行为或启用和禁用我们的各种服务。

    Page Rule 将在给定的 URL 模式下生效,匹配格式如下:

    <scheme>://<hostname><:port>/<path>

    scheme和端口组件都是可选的。如果忽略scheme,则将涵盖 http:// 和 https:// 协议。如果未指定端口,则规则将匹配所有端口。您可以通过在规则模式中使用“*”符号来执行基本通配符匹配,从而使其匹配一系列相似的模式,而不仅仅是一个模式。

    具体规则,可以访问:https://support.cloudflare.com/hc/zh-cn/articles/200172316-如何将特定-URL-从-Cloudflare-的缓存中排除-

    Page Rule 有重要注意事项:

    1. 只有一个 Page Rule 将对任何给定的请求生效

    2. Page Rule 的优先级按照从上到下的顺序排列

    3. 在一个 URL 匹配一个规则后,只有该规则会被应用

    4. Page Rule 可以暂停,在这种情况下,它们将不采取任何操作


    自定义缓存

    cache leve 缓存层级

    • No Query String: 不会缓存请求参数——忽略?后的search参数. 如: example.com/pic.jpg

    • Ignore Query String: 指定忽略的参数.  Example URL: example.com/pic.jpg?ignore=this-query-string

    • Standard (Default): 标准模式,整个URL路径作为缓存.  Example URL: example.com/pic.jpg?with=query

    缓存设置

    • Cache everything设置将缓存任何内容,即使不是我们认为的普通静态文件类型。

    • Bypass设置将阻止该 URL 的缓存。

    缓存时间设置

    • edge cache TTL,这将控制我们在缓存中保留文件的时长。默认情况下,此设置为respect all existing headers,即使用标准 HTTP 缓存标头来控制缓存期限。

    • browse cache TTL TTL 控制客户端浏览器缓存的资源保持有效的时间。如果浏览器再次请求资源并且 TTL 尚未过期,则将收到 HTTP 304(未修改)响应。如果发送的 max-age 标头长于此 TTL,则该值优先。

    并非所有默认缓存行为都严格遵守 RFC。通过 Page Rule 设置 Origin Cache Control 使用一组较新的缓存规则,这些规则旨在更加紧密遵守 RFC,主要是关于重新验证方面 - 例如,max-age = 0 的默认行为是 根本不缓存,而设置 Origin Cache Control 缓存但总是重新验证。

    pageRule选项参数

    • Always Online:控制我们是否会尝试从 Always Online 缓存中传输内容。您可能希望对站点中不应该返回缓存数据的部分禁用此选项,如 API 或支付/购物车页面。

    • Automatic HTTPS Rewrites :可安全地将 HTML 源链接从 HTTP 重写为 HTTPS,而无需对源站上的 HTML 源进行任何更改。

    • Disable Apps:将关闭所有 Cloudflare 应用。

    • Mirage:启用或禁用 Mirage。

    • Rocket Loader:控制 Rocket Loader 以何种模式运行。

    • SSL:控制使用哪种 SSL 模式。

    • Server Side Excludes:启用或禁用服务器端排除。

    • Security Level:用来控制客户端威胁评分必须达到多高的分数时才会遇到captcha质询页面,并且可用于设置网站的一部分,以便始终向访问者显示Under Attack mode质询,然后才能访问您的网站。

    • Email Obfuscation淆:开启或关闭电子邮件混淆。

    • WAF:开启或关闭 Web 应用程序防火墙规则。

    • Browser Integrity Check:控制我们是否将检查用户的浏览器存在与某些机器人相关的标头。

    • Challenge TTL:控制允许用户在通过质询页面后访问您的站点的时间(具体取决于您的 IP 防火墙规则和安全级别)。

    • Always Use HTTPS:通过创建 301 重定向,将任何 http:// URL 转换为 https:// URL。如果您想要强制将您站点的某些部分使用 HTTPS(使用证书来确保客户端和我们的节点之间的连接),通常会使用该选项。注意:如果您看到此选项不可用,那是因为您在Cloudflare节点中还没有有效的证书。

    • IP Geolocation Header:包含访问者位置的国家/地区代码以及对您网站的所有请求。此信息将在 CF-IPCountry HTTP 标头中找到。

    • Disable Security:禁用以下功能:

      如果一个规则设置为Disable Security,而另一个规则设置为启用 WAF,那么无论它们出现的顺序如何,WAF 规则都会优先应用。另外,Disable Security对 IP reputation的检查没有影响。要禁用这些功能,还应在规则中将“Security Level”设置为“Essentially Off”。

      1. Email Obfuscation

      2. Server Side Excludes

      3. WAF

      4. Rate Limiting

      5. Scrape Shield 

    • Disable Performance:

      禁用以下功能:




    转载本站文章《Cloudflare的PageRule设置规则详解:静态页面资源缓存配置》,
    请注明出处:https://www.zhoulujun.cn/html/tools/cloudServices/CDN/8386.html