【问题标题】:Can I restrict who accesses my Azure website to people in the US?我可以将访问我的 Azure 网站的人员限制在美国吗?
【发布时间】:2018-07-13 09:29:28
【问题描述】:

我想将可以查看和访问我网站的人限制在美国境内!我知道我可以将 IP 地址限制为我在 web.config 文件中提供的地址。是否有一些子网掩码或我可以在下面使用的东西来定义所有美国 IP 地址,或者我可以在 Azure 门户中配置一些 Azure 设置吗?

例如。

<system.webServer>
  <security>
    <ipSecurity allowUnlisted="false" denyAction="NotFound">
      <add allowed="true" ipAddress="24.130.112.11" subnetMask="255.255.0.0" />
      <add allowed="true" ipAddress="73.92.189.234" subnetMask="255.255.0.0" />
    </ipSecurity>
  </security>

【问题讨论】:

  • 我不知道根据区域限制 azure 网站流量的方法。但是,如果您启用了 Azure CDN,则可以使用地理过滤功能来配置服务以允许或阻止按国家/地区访问目录路径。参考 - docs.microsoft.com/en-us/azure/cdn/…
  • 什么是 Azure CDN?
  • 我可以给它一个单行配置,说除了美国以外的所有内容都被阻止?
  • Microsoft Azure 内容交付网络 (CDN) 为开发人员提供了一种全球解决方案,用于交付托管在 Azure 或任何其他位置的高带宽内容。使用 CDN,您可以缓存从 Azure Blob 存储、Web 应用程序、虚拟机、应用程序文件夹或其他 HTTP/HTTPS 位置加载的公开可用对象。 CDN 缓存可以保存在战略位置,为向用户提供内容提供最大带宽。 CDN 通常用于交付静态内容,例如图像、样式表、文档、文件、客户端脚本和 HTML 页面。
  • 使用 CDN 的主要优势是降低延迟并更快地向用户交付内容,无论用户的地理位置与托管应用程序的数据中心相关。但是,请检查一下 CND 是否真的适合您的场景 - docs.microsoft.com/en-us/azure/architecture/best-practices/…

标签: asp.net-mvc azure ip-address subnet azureportal


【解决方案1】:

没有可以在 Azure 门户中配置的 Azure 设置来限制基于来自任何区域的 IP 地址的访问。

我建议你可以使用一些nuget包,例如MaxMind.GeoIP2,它可以提供GeoIP查找功能,根据客户端IP地址获取国家和城市等位置信息。

这种方式比必须找出美国的所有 IP 地址范围和子网掩码并将其列入白名单要好

【讨论】:

    【解决方案2】:

    据我所知,这是在 Azure 中限制 IP 地址的唯一方法。您还可以使用 Azure 应用服务中的 IP Restrictions 菜单来添加或删除限制。

    但是,我认为按区域(IP 地址)限制可以访问您网站的用户的方法不是正确的解决方案。这似乎是一个不必要的复杂性,可能会遇到技术和逻辑问题。您是否希望在旧金山工作但在城外工作的人只有在办公室时才能访问您的网站?

    我认为有一些更合适且更易于管理的解决方案,例如:

    • 向用户(如果他们以前从未访问过您的网站)提示该网站处于测试/alpha/beta 阶段且仅适用于 X 用户(英语、都市工作者等)的消息
    • 询问与您的描述(语言、地区、位置等)相匹配的登录信息,然后将他们重定向到正确的位置或让他们优雅地离开网站
    • 将测试版密钥分发给您想要访问您网站的任何人。您可以非常具体地确定您邀请的对象,尤其是在您考虑到特定人群的情况下,这可能比简单地拥有大量用户更有价值。

    【讨论】:

    • 好的,感谢您的反馈和帮助。如果您有任何其他想法,请告诉我。谢谢!
    猜你喜欢
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 2019-03-11
    相关资源
    最近更新 更多