我有一个 .NET Web Api 项目,其中包含多个 REST 端点,我只想通过我创建的 Azure 虚拟网络中的资源访问这些端点。 Azure Functions 和 Azure Web Roles 等资源将仅访问这些终结点。换句话说,我不希望端点公开可用。
因此,我使用虚拟网络配置了 Web Api 应用程序,但显然我还需要将 Web Api 应用程序添加到应用程序服务环境(据我所知,这非常昂贵)。引用Azure documentation :
VNET 集成使您的 Web 应用程序可以访问虚拟网络中的资源,但不会授予从虚拟网络对您的 Web 应用程序的私有(private)访问权限。
我确实需要使用应用程序服务环境并仅处理成本,还是有其他方法可以实现我想要的目标?
最佳答案
I do not want the endpoints publicly available.
到目前为止,Azure Web 应用仅支持将内部负载均衡器与应用服务环境功能结合使用。如果你想让你的Web API只能在内部访问。需要应用服务环境。
如果您不想将 Web API 移至应用服务环境,并且您的 Azure 函数和 Web 角色具有固定 IP 地址,则可以使用 Web API 中的 ipSecurity 配置来配置 IP 白名单。有关ipSecurity的更多信息,以下链接供您引用。
关于azure - 如何使 Azure Web Api 项目 REST 端点仅可用于 Azure 虚拟网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44621396/