将 Cloudflare 访问规则用于依赖 REST 的通配符域上的应用程序 API

Using Clouflare Access rules for application on wildcard domain relying on REST API

我们正在使用 Cloudflare Access 来控制谁可以访问我们的暂存环境。我们使用简单的 Google 身份验证来识别我们团队中的用户。

为URL*.mydomain.com定义的策略是这样的:

问题是,在有问题的 URL 上,我们使用了通配符,因为我们有各种应用程序 运行,例如:

当一个应用程序通过 REST API 与另一个应用程序通信时,这会导致问题。从 client.mydomain.comdashboard.mydomain.com/api 发出的请求被 Cloudflare 阻止,即。重定向到授权页面。

我已经尝试为 dashboard.mydomain.com/api 添加另一个策略并允许所有人(只是为了尝试)但它没有用:

我的设置方法正确吗?

您的配置看起来没问题,我相信可能发生的情况是在 API 请求期间身份验证 (cookie) 未传递到您的第二个子域。这通常可以追溯到 CORS 问题。

https://developers.cloudflare.com/cloudflare-one/policies/zero-trust/cors/

具体来说,您的 API 子域可能未正确设置 Access-Control-Allow-Credentials 以允许发送 cookie。在启用之前,您需要确保您还需要确保其他 CORS headers 已正确设置以限制哪些站点可以允许请求(现在您允许经过身份验证的请求,从而降低 XSS 攻击的风险)。