我在Azure中创建了一个Web应用程序(例如,abc.azurewebsites.net),并向其添加了一个自定义域,该域取自Cloudflare(abc.contoso.com)(通过将CNAME点添加到 Azurewebsites.net)。
现在我的要求是,每当客户通过 abc.contoso.com 访问 Web 应用程序时,它都应该通过 Cloudflare 并点击 azurewebapp。
然后,我在 Azure Web 应用程序中配置了 IP 限制,以便我只能允许来自 Cloudflare 的流量。
我已经添加了ips以允许模式,我从文档中获得了该模式并拒绝了其余所有内容,但是它不起作用。
您似乎对 CNAME 记录有一点误解,该记录将别名映射到真实或规范的域名。当你访问URLabc.contoso.com
时,本地DNS服务将帮助查找此类主机abc.contoso.com
的IP地址,因为DNS托管提供商中的CNAME
记录会将DNS查找流量重定向到主机abc.azurewebsites.net
,然后DNS服务将Web应用程序abc.azurewebsites.net
的真实IP地址返回给客户端。最后,客户端直接连接到 Azure 中的 Web 应用。
因此,无法通过筛选 Cloudflare IP 来实现,如果要限制某些客户端,则应在 Azure Web 应用的 IP 限制中添加实际客户端 IP 地址。
此外,您可以设置一个代理,该代理将接收客户端流量并帮助将客户端流量重新路由到 Web 应用程序。然后,可以在 Azure Web 应用的 IP 限制中添加代理地址。可以查看 Azure 应用程序网关。如果希望仅使用代理从 URLabc.contoso.com
限制对 Azure Web 应用的访问,Azure 应用程序网关可以实现它。