服务端点在应用程序网关后面不适用于Azure Functions代理

时间:2019-06-28 22:02:58

标签: azure azure-functions azure-application-gateway azure-function-app-proxy

我正在使用应用程序网关(WAF)将所有流量路由到代理功能应用程序(Premium EP1)。反过来,该功能应用程序将采用以下URL,并将其定向到正确的Web API。 (我意识到这是App Gateway中基于路径的路由的功能,但我们也进行标头注入以提供正确的租户ID)。

domain.com/api1 -> api1.azurewebsites.net
domain.com/api2 -> api2.azurewebsites.net
domain.com/api3 -> api3.azurewebsites.net

这略有简化,但它说明了重点。

所有4个App Services /功能均已VNet集成到其自己的子网中,每个子网中都有serverFarms委托,并具有Microsoft.Web的服务端点。所有4个应用程序服务还都应用了访问限制,以仅允许来自子网的流量。

但是由于某些原因,由于访问限制,来自代理功能应用程序的流量无法到达Web API。当我将功能应用程序的外部IP地址添加到应用程序服务的白名单时,将允许流量通过。这对我来说似乎是错误的,因为我认为他们会使用通过子网列入白名单的私有服务端点?

有人知道这是否是预期的行为吗?

Mini arch diagram

2 个答案:

答案 0 :(得分:0)

现在,使用应用程序网关V2 SKU,可以重写标头。因此,为简化配置,您可以从环境中删除Azure功能,并在Web应用程序中将应用程序网关IP列入白名单。

您可以在应用程序网关here中检查有关HTTP重写的信息。

答案 1 :(得分:0)

Premium EP1实例在使用时是一个Preview实例,并且VNet Integration功能也处于Preview中。没有将该实例列入白名单以允许使用VNet Integration。

Microsoft非常友好地将其列入白名单,以便我们进行测试。