将 Cloudflare Authenticated Origin Pull 与 GCP Cloud 运行 结合使用

Use Cloudflare Authenticated Origin Pull with GCP Cloud Run

我想将 Cloudflare 放在我在云 运行 上托管的 API 前面。我想确保我的 Cloud 运行 应用仅接受来自 Cloudflare 的连接(以避免绕过 Cloudflare 中的 DDoS 缓解 + 速率限制)。

有什么方法可以将 Cloudflare 的 Authenticated Origin Pulls 与 Cloud 运行 一起使用吗?


也欢迎实现相同效果的其他解决方案 - 但关键是我不希望来自非 Cloudflare 来源的流量触发 Cloud 运行 调用(否则 DDoS 可能导致账单激增).因此,在 Cloud 运行 应用程序中过滤流量为时已晚,调用已经发生。

似乎有一种方法可以添加 HTTPS 负载均衡器 + Cloud Armor 来进行 IP 白名单,并且只允许来自 Cloudflare 的 IP 的请求......但我宁愿不开始处理其他两项服​​务并添加$$就是为了达到这个目的。

Google Cloud 运行 支持两种授权机制:未验证 (anyone/public) 和 OAuth 客户端 ID。 Cloudflare 的 Origin Pulls 使用 TLS 证书,这意味着您的 Cloud 运行 应用程序需要验证证书,因为 Google 的前端不支持此功能。这不会实现您防止未经授权调用 Cloud 运行.

的目标

总而言之,除非您的服务使用 OAuth 客户端 ID 进行授权,否则除了限制最大实例数外,没有其他方法可以阻止云 运行 服务调用。如果您配置了未经身份验证的访问,任何调用您的服务端点的人都将成功调用您的服务或执行重叠请求。