Azure应用服务限制-为应用服务B允许应用服务A

时间:2019-05-28 19:06:34

标签: c# azure network-programming azure-web-sites

Azure应用服务A需要使用System.Net.WebClient类来调用Azure应用服务B。

通过

访问应用服务B仅限于公司的IP范围
  

Azure>应用程序服务>网络>访问限制

试图将<public ip of app service A>/32添加到B的允许列表中,但这没有用-System.Net.WebClient.DownloadData抛出了403 Forbidden例外。

我还能尝试什么?

2 个答案:

答案 0 :(得分:0)

似乎不可能限制应用程序服务B的Access Restrictions中的公共IP地址,因为两个应用程序服务都在同一应用程序服务计划中。

Azure App Service是一个多租户服务,但App Service环境除外。不在应用程序服务环境中(不在隔离层中)的应用程序与其他应用程序共享网络基础架构。如果您限制Web应用程序服务的入站或可能出站的公用IP地址,则看起来像是限制了自身的访问。就我所知,即使这样,也应该限制Azure主干网络上Web应用程序服务中实例的私有IP地址。但是,我们不知道每个应用程序服务的专用IP地址。

您可以将Azure服务计划与单独的价格层配合使用,但价格昂贵。我建议在具有不同区域的其他服务计划中重新创建Web应用程序服务A。然后限制Web应用程序服务A中可能的outbound IP addresses

此外,您可以在this博客中进一步了解Azure应用服务计划。

答案 1 :(得分:0)

我了解您要实现的目标,我建议您使用 Azure 流量管理器。

Azure 流量管理器是基于 DNS 的流量负载平衡器。此服务允许您跨全球 Azure 区域将流量分发到面向公众的应用程序。流量管理器还为您的公共端点提供高可用性和快速响应能力。

流量管理器使用 DNS 根据流量路由方法将客户端请求定向到适当的服务端点。流量管理器还为每个端点提供健康监控。终结点可以是托管在 Azure 内部或外部的任何面向 Internet 的服务。流量管理器提供了一系列流量路由方法和端点监控选项,以满足不同的应用程序需求和自动故障转移模型。流量管理器对故障具有弹性,包括整个 Azure 区域的故障。

请访问以下链接了解更多信息 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-overview