我收到了一个项目,其中Azure应用程序网关(AGW)使用包含多个应用程序的内部负载平衡器(ILB)应用程序服务环境(ASE)作为后端池。
AGW使用几个多站点侦听器进行设置,其中每个多站点侦听器的主机都与在ILB ASE中运行的App Service实例中的自定义域匹配。像这样:
我需要向ASE添加一个新应用,并向AGW添加相应的配置。
问题是AGW最多可以有20个侦听器,这在我手中收到的项目中已经达到。因此,通过此设置,我无法将更多应用添加到AGW。
要通过最小的更改来解决侦听器限制,我想将基于多站点路径的路由与ILB ASE用作后端池。 我想要看起来像下面的东西:
我花了一些时间浏览文档以及其他StackOverflow问题。我还介绍了多站点应用程序服务文档https://docs.microsoft.com/en-us/azure/application-gateway/create-web-app,包括使用-PickHostNameFromBackend开关。 到目前为止,我已经进行了几次实验,都没有成功。
我相信AGW当前不支持我想做的事情。我想我明白原因。从AGW传递给ILB ASE(api.example.com)的主机名在ASE的任何App Service实例中都不作为自定义域出现,因此该请求将无法实现。如果我错了请纠正我。
我想要的设置(图2)可行吗?
如果不可能,那么像今天这样只有一个AGW的替代解决方案是什么?
答案 0 :(得分:0)
首先,您可以打开支持通知单,将侦听器/后端池的数量从20增加到40。这应该会立即为您提供一些扩展空间。
第二种情况也应该可行。您应该使用api-aaa.example.com和api-bbb.example.com作为后端池成员。并使用HTTPSettings上的开关PickHostNameFromBackendAddress,并使用PickHostNameFromBackendHttpSettings标志集创建一个自定义探针,并将探针与HTTPSetting关联。在将路径与后端池关联时,您将在每个基于路径的规则中使用此设置。请确保您在VNet中的内部DNS可以将api-aaa.example.com和api-bbb.example.com解析为ILB IP 222.222.222.222。