Azure 前门通过同一域下的路径支持多个 Web 应用程序

Posted

技术标签:

【中文标题】Azure 前门通过同一域下的路径支持多个 Web 应用程序【英文标题】:Azure front door to support multiple web app by path under same domain 【发布时间】:2021-10-18 04:04:28 【问题描述】:

我有一个关于 azure front door 潜力的问题。所以我有 2 个由 Azure App Services 运行的网站,然后我需要使用相同的域名但不同的 URL 路径,如下所示:

App Service A  ->  www.something.com 
App Service B  ->  www.something.com/b-product

我不确定这是否可以使用 Azure 前门,或者我应该使用其他服务来解决此问题。

有人可以给我建议吗?

【问题讨论】:

看起来规则引擎应该支持你想要的:docs.microsoft.com/en-us/azure/frontdoor/… 【参考方案1】:

是的,您可以很容易地做到这一点,当您创建路由规则时,您可以选择指定要匹配的模式,在那里您可以指定 /foo 并将其转发到应用服务 A 所在的池 A

然后您使用 /bar 模式创建一个不同的路由规则来匹配并将其转发到池 B

然后你可以重复这个直到你得到你需要的东西。

您还可以根据您的示例让一个路由规则与 / 域匹配您不必使用 /foo 模式您也可以使用 /* 但我总是发现使用 /foo/* 和 /bar 更容易/* 保持相同的 URL 结构

【讨论】:

【参考方案2】:

根据Junnas 的建议,您可以使用前门规则引擎

或者,您可以使用application gateway listeners

如果您希望您的所有请求(针对任何域)都被接受并转发到后端池,请选择基本。了解如何使用基本侦听器创建应用程序网关。

如果您想根据主机头或主机名将请求转发到不同的后端池,请选择多站点侦听器,其中您还必须指定与传入请求匹配的主机名。这是因为应用程序网关依赖 HTTP 1.1 主机标头在同一公共 IP 地址和端口上托管多个网站。要了解更多信息,请参阅使用应用程序网关托管多个站点。

【讨论】:

以上是关于Azure 前门通过同一域下的路径支持多个 Web 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在服务器上/同一域下的多个 ColdFusion 应用程序之间共享会话?

Azure 前门:请求 URI 无效

通过 Azure DevOps 将多个应用程序部署到同一个 Azure Web 应用程序

apache2:在本地服务器的同一域下托管多个站点

Azure 前门 URL 重写

在 Azure 前门服务上配置 WAF