【问题标题】:Azure App Service Restrictions - allow app service A for app service BAzure 应用服务限制 - 允许应用服务 A 用于应用服务 B
【发布时间】:2019-10-14 08:40:11
【问题描述】:

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

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

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

尝试将 <public ip of app service A>/32 添加到 B 的允许列表中,但没有奏效 - System.Net.WebClient.DownloadData 抛出 403 Forbidden 异常。

我还能尝试什么?

【问题讨论】:

标签: c# azure network-programming azure-web-app-service


【解决方案1】:

似乎无法限制应用服务 B 的 Access Restrictions 中的公共 IP 地址,因为这两个应用服务在同一个应用服务计划中。

Azure 应用服务是一种多租户服务,应用服务环境除外。不在应用服务环境中(不在隔离层中)的应用与其他应用共享网络基础架构。如果您限制 Web 应用服务的入站或可能出站的公共 IP 地址,则看起来像是限制了自身的访问。即使这样,根据我的理解,它应该是通过 Azure 骨干网络限制 Web 应用服务中实例的私有 IP 地址。但是,我们无法知道每个应用服务的私有 IP 地址。

您可以使用具有独立价格层但成本较高的 Azure 服务计划。因此,我建议在不同区域的不同服务计划中重新创建 Web 应用服务 A。然后在 web 应用服务 A 中限制可能的outbound IP addresses

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 2017-11-27
      • 2018-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多