与您的 API 服务一起使用Cloudflare

您希望在不会阻止或破坏任何合法流量的情况下增强您的API的性能和安全性。使用 Page Rule 配置 Cloudflare 可以确保 API 获得所有好处,甚至在不使用浏览器的情况下也能正常工作。有关如何创建 Page Rule 的步骤,请参阅:如何创建 Page Rule?

为什么要这样做?

Cloudflare 提供了许多安全功能,以帮助抵御攻击。其中一些功能可通过向请求添加插页式检测或要求从 Web 浏览器发出请求,以限制潜在有害的访问者访问您的网站。

由于 API 请求 通常不会使用浏览器发出,因此我们建议您为 API 的 URL 模式创建 Page Rule,以确保这些功能不会限制对 API 的访问。

请注意,如果 API 的源服务器和您的网页服务器是同一个,则禁用或降低安全功能会为潜在攻击者提供攻击您域名的可能。

匹配模式
第一步是将 URL 设置为包含对 API 的所有请求。例如,如果您的 API 功能与 Cloudflare v4 API 类似,则所有请求都会发送到一个 URL https://api.cloudflare.com/client/v4/ ,因此匹配模式将是 https://api.cloudflare.com/client/v4/*。如果您的 API 使用多个 URL,则可以使用星号(*)作为通配符,以使模式与多个 URL 匹配。例如,对 Zendesk v2 API 的请求以 https://{subdomain}.zendesk.com/api/v2/ 开头,其中通配符可用于子域和 /v2/ 之后请求的文件,如:https://*.zendesk.com/api/v2/*

Page Rule 设置
第二步是配置 Cloudflare 的 Page Rule 功能,以尽量减少对 API 的影响。

  • Cache Level:Bypass 由于可以预期每个请求和响应都不同,因此将 Cache Level 设置为 Bypass 会阻止缓存返回给访问者的任何响应。
  • Always Online:Off Always Online 功能可在源站脱机时返回缓存内容。针对 API 规则禁用 Always Online 可确保不会从 Cloudflare 的缓存提供响应。
  • Web Application Firewall:Off 我们的Web Application Firewall web application firewall(WAF),对于付费用户都是可用的。对 API 的某些调用可能会触发 WAF 中的规则,从而导致请求被错误拦截。我们建议至少在最初启用 WAF,以查看这些请求是否触发了 WAF 规则。通过以下链接访问 WAF 设置和log页面,您可以查看已触发的记录:https://www.cloudflare.com/a/firewall/example.com/waf#firewall-events,请使用您的域名替换 example.com。
    如果您发现 WAF 正在捕获对 API 的请求,您可以在 WAF 设置页面上禁用 API 请求触发的单个规则或多个规则,也可以通过在 Page Rule 界面对于该 API 禁用 WAF。请务必注意,WAF 设置中的禁用规则将应用于整个域,而不仅仅是 API 的 URL。
  • Security Level:请勿设置为 IUAM Cloudflare的Securtiy Level Basic Protection Level。在 Cloudflare 设置或 Page Rule 中设置“I'm Under Attack”时,每个访问者都会看到一个插页式页面,延迟时间为 5 秒,通过后才将请求重定向到其目标。我们建议将此项设置为除“I'm Under Attack”以外的任何内容,以防止对 API 请求应用任何延迟。
  • Browser Integrity Check:关闭 Browser Integrity Check 可查找恶意访问者最常用的 HTTP 头字段,并拒绝访问请求。由于以编程方式进行的 API 调用通常不会使用与 Web 浏览器相同的HTTP头字段,因此我们建议对 API URL 禁用 Browser Integrity Check,以防在浏览器之外进行的调用受阻。
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 提供技术支持