跳转到内容
搜索文档

Origin Rules

最后更新 查看 MarkdownAgent 设置

Origin Rules 允许你更改 Cloudflare 将请求发送到的源站服务器,或修改请求到达该服务器的方式。当你需要将特定请求路由到不同后端(例如第三方服务或非标准端口上的服务器)时,此功能非常有用。你可以执行以下覆盖:

每条源站规则都包含一个筛选表达式,用于定义覆盖适用于哪些请求(例如,按主机名、路径或其他请求属性进行匹配)。

对于更复杂的 and customized modifications,请考虑使用 Snippets


规则模板

Cloudflare 为常见用例提供规则模板。

  1. 在 Cloudflare 仪表板中,转到 Rules 概览页面。

    Go to Overview ↗
  2. 选择 Templates(模板),然后选择一个可用模板。

你也可以参阅开发者文档中的 Examples gallery

可用性

FreeProBusinessEnterprise

Availability

Yes

Yes

Yes

Yes

Number of rules

102550300

Override Host header

No

No

No

Yes

Override SNI

No

No

No

Yes

Override DNS records

No

No

No

Yes

Override destination port

Yes

Yes

Yes

Yes

执行顺序

Rules 功能的执行顺序如下:

上述不同类型的规则优先于 Page Rules(页面规则)。这意味着当 Page Rules 与上述 Rules 产品同时匹配时,Page Rules 会被覆盖。

一般来说,对于非终止动作,同一阶段中规则所做的最后一次更改将生效(后续规则可以覆盖之前规则所做的更改)。但对于终止动作(BlockRedirect 或任一质询动作),规则评估将停止,并立即执行该动作。

例如,如果多个带有 Redirect 动作的规则匹配,Cloudflare 将始终使用第一条匹配规则的 URL 重定向。此外,如果您使用不同的 Cloudflare 产品(单次重定向和批量重定向)配置 URL 重定向,在规则匹配的情况下,最先执行的产品将生效(此处为单次重定向)。

有关产品执行顺序,请参阅阶段列表

重要说明

如果你使用源站规则覆盖主机名(通过 Host 标头覆盖或 DNS 记录覆盖),并在负载均衡器配置中添加标头覆盖,则源站规则优先于负载均衡器配置。

Page Rules 类似,执行 Host 标头覆盖的源站规则会将原始请求的 SNI 值更新为与 Host 标头相同的值。若要将 SNI 值设置为与 Host 标头覆盖不同的值,请在同一条源站规则中添加 SNI 覆盖,或为此单独创建一条源站规则。

故障排除

排查 origin rules 时,使用 Cloudflare Trace 判断某条规则是否对特定 URL 生效。

这篇文档对您有帮助吗?