Cloudflare 网络策略 - 如何将我的策略仅应用于一个子域?

Cloudflare 网络策略 - 如何将我的策略仅应用于一个子域?

我有一个Cloudflare Tunnel带有两个子域的 。我需要将其中一个设为公开,如果源不是我的 IP,则阻止另一个。我创建了一个网络策略,该策略规定如果SNI Domain is admin.example.com(即我需要阻止其他 IP 的子域),Source IP is not <my ip>Block。这部分有效Source IP,但它也会阻止我的其他子域访问任何其他 IP,因此SNI Domain is admin.example.com并没有达到我需要的效果。需要更改什么才能使其正常工作?

答案1

根据提供的信息,问题似乎出在您在 Cloudflare Tunnel 中创建的网络策略上。您描述的策略是,如果源 IP 不是您的 IP,则阻止到 admin.example.com 子域的流量,但如果源 IP 不是您的 IP,则它也会阻止到其他子域的流量。这可能是因为该策略适用于所有流量,无论它要到哪个子域。

要解决此问题,您需要更新网络策略,使其仅适用于流向 admin.example.com 子域的流量。这可以通过向策略添加与传入流量的子域匹配的条件来实现。例如,您可以使用 SNI 域条件来匹配流向 admin.example.com 子域的流量。

以下是更新后的网络策略的示例:

if SNI Domain is admin.example.com and Source IP is not <my ip> then Block

此更新后的政策仅适用于流向 admin.example.com 子域的流量,并将阻止来自任何非您 IP 的源 IP 的流量。这应允许从任何源 IP 访问其他子域,同时仍阻止从其他 IP 访问 admin.example.com 子域。

还值得注意的是,如果您有多个要阻止访问的子域,则可以使用 SNI 域条件一次匹配多个子域。例如,您可以使用这样的条件来阻止对 admin.example.com 和 secure.example.com 子域的访问:

if SNI Domain is admin.example.com or SNI Domain is secure.example.com and Source IP is not <my ip> then Block

如果源 IP 不是您的 IP,这将阻止对两个子域的访问,同时允许访问其他子域。您可以根据需要调整网络策略中的条件以满足您的特定要求。

答案2

事实证明,我使用了错误的策略区域。Gateway -> Policies -> Network Policy我需要Access -> Applications -> Add an Application为管理子域创建一个应用程序 (),而不是 。然后该应用程序允许我限制 IP 范围。

相关内容