Azure应用服务A需要使用System.Net.WebClient
类来调用Azure应用服务B。
通过
访问应用服务B仅限于公司的IP范围Azure>应用程序服务>网络>访问限制
试图将<public ip of app service A>/32
添加到B的允许列表中,但这没有用-System.Net.WebClient.DownloadData
抛出了403 Forbidden例外。
我还能尝试什么?
答案 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