背景:
我托管 2 个独立的网站实例 - 1 个用于 WebAPI2 “API”,1 个作为使用所述 API 的 MVC5 “客户端”。我想将对“API”的访问限制为“客户端”(有多个客户端)
(我只看到了云服务或虚拟机的答案,所以想问一下是否有什么可以用于网站。我不想使用云服务或虚拟机,因为网站速度更快,更轻、更便宜 - 这就是我所需要的......找不到 Azure 中网站的防火墙功能。)
问题:
我相信我可以通过在项目的 Web.Config 文件中设置参数来限制对“API”的访问。 但命令提示符下的 nslookup 会为我帐户下的所有 Azure 网站生成相同的 IP 地址。
问题:
如何找到正确的 IP 地址——“客户端”网站将使用该地址访问“API”网站实例?
如果有更好的方法来限制访问...请提出建议。
最佳答案
您无法通过 IP ACL 保护您的网站,因为 Azure 中的网站在 Multi-Tenancy 环境中运行,并且它们共享一组 IP 地址(IP 地址是每个 DC 的)。
您需要依赖不同的安全机制(使用一些只有客户端/服务器知道的 secret 等)。
希望有帮助。
您还可以查看How to determine Azure website outgoing IP Address?
彼得
关于Azure:获取网站的内部 IP 以创建访问限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24729007/