Azure WebApp静态出站IP

Azure WebApp静态出站IP,azure,azure-virtual-network,azure-app-service-plans,azure-application-gateway,Azure,Azure Virtual Network,Azure App Service Plans,Azure Application Gateway,我正在努力解决一个问题。我必须从Azure托管的Web API访问托管在本地服务器(on prem)上的API 问题是,我的prem服务器只允许白名单的IP。我知道我们可以从我们的Web应用程序(Azure托管)获取出站IP。但我不确定它们是静态的还是会随着缩放而改变 另一个解决方案是创建VNET并将该Web应用程序添加到该VNET中。但我希望有人能提出更好的解决方案 Azure应用程序服务的出站IP通常是静态的,在扩展时不会更改。通常有4个出站IP,只有当您更改SKU或MS端需要增加其数据中心

我正在努力解决一个问题。我必须从Azure托管的Web API访问托管在本地服务器(on prem)上的API

问题是,我的prem服务器只允许白名单的IP。我知道我们可以从我们的Web应用程序(Azure托管)获取出站IP。但我不确定它们是静态的还是会随着缩放而改变


另一个解决方案是创建VNET并将该Web应用程序添加到该VNET中。但我希望有人能提出更好的解决方案

Azure应用程序服务的出站IP通常是静态的,在扩展时不会更改。通常有4个出站IP,只有当您更改SKU或MS端需要增加其数据中心的容量时,它们才会更改(很少或在不久的将来可能永远不会发生)


我建议您创建一个VNET,因为它比在on-prem服务中白名单IP更安全。但是,如果您想列出出站IP,我建议您在Azure中为on-prem API创建一个包装器,并在on-prem防火墙中为这些创建白名单IP。这将确保您不必每次在Azure中创建需要在prem API上访问的API时都将其列入白名单。

不幸的是,在Azure中没有直接的方法为应用程序服务做到这一点,我最近也遇到了这个问题。 唯一的解决方案(至少现在)是将应用程序服务的出站IP列表添加到您的允许规则中

只需小心层间的扩展,因为它会更改出站IP地址()

最简单的方法是使用Azure VM和静态公共IP,该IP用于入站和出站。 Sam Cogan有一篇很好的博客文章,他在那里确实经历了几个选择。
()您有两种选择

首先,您可以查看应用程序服务的
可能的OutboundIPAddress
,并将此IP列入白名单。然而,这也为你的应用服务没有真正使用的IP打开了大门

az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv

az webapp show--resource group--name

请注意,VNET放置是ASE(应用程序服务环境)的一部分,而不是ASP(应用程序服务计划)的一部分。您的架构是什么?@RaunakJhawar是的,我同意,架构非常简单,我有包含一些API的内部部署服务器,我有Web应用程序(.Net Core,Web API),我想从中访问内部部署API。我需要在本地服务器上将我的IP地址(Azure托管的Web应用)列入白名单。这将要求您将与该应用相关的所有可用(额外出站)IP地址列入白名单,并在本地防火墙中添加一个例外以允许端口数据包80/443