Azure:获取网站的内部 IP 以创建访问限制

标签 azure asp.net-web-api2 azure-web-app-service static-ip-address virtual-ip-address

背景:

我托管 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/

相关文章:

sql - 将 VALUE 关键字与文档数据库中的其他 SELECT 元素组合

c# - .NET 6 区分同一 Controller 类中的路由的最佳方法

c# - 如何为 Web 窗体项目中长时间运行的 Ajax 请求禁用/释放早期 session 状态阻塞

azure - "Azure Web app"和 "Azure App Service"和有什么区别?

Azure图像实例: credential rejected

azure - 创建逻辑应用程序后,是否有任何方法可以在逻辑应用程序上启用日志分析?

azure - 我们可以注册一个 Web 应用程序来接收来自 Azure 通知中心的通知吗?

c# - 如何拥有一个指向两个不同 Controller 端点的路由,它们在 WEB Api 2 中接受不同的参数

azure - Azure Web 应用程序上的 DNN 8 调度程序错误

c# - 如何获得AAD群成员?