如何根据国家/地区限制托管在 Azure 上的网站访问

问题描述

我在 Azure 上托管了一个网站。我希望我的网站只能在美国访问。如果有人试图从印度、日本、俄罗斯等其他国家/地区访问我的网站,则应禁止。我尝试了各种选项,例如限制使用 Azure 防火墙,但没有奏效。我认为基于 IP 的限制不会解决我的问题,因为在美国我们有很多 IP 范围并且很难添加所有 IP 范围。 可能有一种使用条件访问的方法,但我们没有许可证。请让我知道 Azure 中是否有一种方法可以让我选择允许访问美国。

解决方法

Azure Front Door 的文档中描述了您的场景:https://docs.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-tutorial-geo-filtering

话虽如此,总有办法绕过这些过滤器,因为它们通常依赖于阻止分配给特定地区或国家/地区 ISP 的 IP 范围。用户只需选择一个 public proxy server located in the US,您的站点就会看到一个美国源 IP 地址。作为对策,您可以尝试检测代理,例如通过查看一些 HTTP headers they add 并阻止这些请求,但这也会将合法用户拒之门外。

但最后,如果我真的想见你一面,而且我不在美国,我会在 Azure 美国地区快速启动虚拟机并从那里访问你的页面。