Page Rule 教程

目录

  1. 概述
  2. 转发(URL 重定向)
  3. 自定义缓存
  4. 所有套餐的选项
  5. Business & Enterprise 选项
  6. Enterprise 套餐选项


在此处查看我们的 Page Rule 视频教程:cloudflare.com/features-page-rules

 

概述

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

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

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

下面是使用每个组件的示例:

https://www.example.com:80/image.png

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

Page Rule 有两件重要事项需要注意:

  1. 只有一个 Page Rule 将对任何给定的请求生效
  2. Page Rule 的优先级按照从上到下的顺序排列

在一个 URL 匹配一个规则后,只有该规则会被应用 - 即,如果 Page Rule 已基于一个请求而被触发,那么后续也匹配该 URL 模式的任何规则将不起作用。通常,建议您将规则按从最具体到最不具体的顺序排列。

Page Rule 可以暂停,在这种情况下,它们将不采取任何操作,但仍可以在列表中查看和编辑。Save as Draft选项会创建最初暂停的 Page Rule。

 

转发(URL 重定向)

使用 HTTP 301/302 重定向将一个 URL 重定向到另一个 URL。之后可以使用 $X 语法引用通配符匹配的 URL 的任何部分的内容。X 表示模式中 glob 通配符索引:$1 将替换为第一个通配符匹配,$2 将替换为第二个通配符匹配,依此类推。

例如,假设您设置以下规则:

此处,对“www.example.com/stuff/things”的请求将重定向到“http://example.com/stuff/things”。

注意不要创建域指向自身作为目标的重定向。这可能会导致无限重定向错误,受影响的网址将无法解析。

重定向到 HTTPS

如果要重定向访问者使用 HTTPS,只需使用“Always Use HTTPS”设置:

Screenshot_from_2017-06-16_10-50-27.png

 

自定义缓存

使用我们的任意cache levels,设置与 Page Rule 模式匹配的任何 URL 的缓存行为。Cache everything设置将缓存任何内容,即使不是我们认为的普通静态文件类型Bypass设置将阻止该 URL 的缓存。

通过 Page Rule 指定缓存级别时,您可以选择设置edge cache TTL,这将控制我们在缓存中保留文件的时长。默认情况下,此设置为respect all existing headers,即使用标准 HTTP 缓存标头来控制缓存期限。您可以根据您的套餐直接设置其他缓存有效期。

浏览器缓存 TTL 控制客户端浏览器缓存的资源保持有效的时间。如果浏览器再次请求资源并且 TTL 尚未过期,则将收到 HTTP 304(未修改)响应。如果发送的 max-age 标头长于此 TTL,则该值优先。免费、Pro 和 Business 客户可以设置 30 分钟到 1 年的 TTL;Enterprise 客户可以选择低至 30 秒的其他选项,并可以选择尊重现有的 max-age 标头。

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

以下示例将设置规则以缓存“/images”文件夹中的所有内容。在用户的浏览器中,缓存资源将在 5 分钟后过期。在 Cloudflare 的数据中心,缓存资源将在一天后过期:

 

所有计划套餐级别的选项

Always Online:

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

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”。

Disable Performance:

禁用以下功能:

 

Business 和 Enterprise 计划套餐级别的选项

Bypass Cache Cookie(仅适用于 Business 和 Enterprise):

如果一个 Cookie 名称与正则表达式匹配,则 Cloudflare 将绕过“Cache Everything”规则并从源服务器中获取资源。

 

Enterprise 计划套餐级别选项

Cache On Cookie(仅限 Enterprise):

如果一个 Cookie 名称与正则表达式匹配,则 Cloudflare 将对该 URL 应用“cache everything”,并从缓存获取资源。

Host Header Override(仅适用于 Enterprise):

任何与 URI 匹配的请求都会将Host Header Override到您在“Host Header Override”字段中放置的那个标头。

Resolve Override(仅适用于 Enterprise):

将请求的源站地址更改为您所设置的URL。用户将在浏览器地址栏中看到域名,但内容将通过“解析”字段中的您所设置的URL 提供。

Custom Cache Key(仅限 Enterprise):

控制在决定缓存哪些资源时具体包括哪些变量,即允许用户基于除了 URL 之外的其他内容来确定缓存内容。请注意,用户无法直接控制这些内容。需要向 Cloudflare 的支持团队 请求添加/更改自定义缓存键

Query String Sort(仅适用于 Enterprise):

重新排序任何查询字符串,以便它们具有相同的格式,以实现更快更高的缓存命中率。

Origin Error Page Pass Through(仅适用于 Enterprise):

禁用由于源服务器发送的问题而触发的 Cloudflare 错误页面,而是显示在源服务器中设置的错误页面。

True Client IP Header(仅适用于 Enterprise):

默认情况下,Cloudflare 会发回包含 Cloudflare IP 地址的数据包。如果启用了 True-Client-IP,Cloudflare 将在发送给源服务器的请求(带有最终用户 IP 地址)中添加一个 True-Client-IP 标头。

Max Upload Size(仅限 Enterprise):

Cloudflare 会限制访问者每次请求上传的最大数据量。此限制由计划套餐级别决定:

  • Free: 100MB
  • Pro: 100MB
  • Business: 200MB
  • Enterprise: 500MB(默认值)

 

Response Buffering(仅限 Enterprise):

Cloudflare 将等待,直至获取整个文件,然后再将其转发给最终用户。默认情况下,在我们收到数据包时,Cloudflare 将数据包发送到客户端。

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

由 Zendesk 提供技术支持