azure appservice 网络应用的基于路径的路由

path based routing for azure appservice web apps

我想对我的 Azure 应用服务 Web 应用使用基于路径的路由,以便

http://mysite.mydomain.com/site1 points to http://mysite1.azurewebsites.net http://mysite.mydomain.com/site2 points to http://mysite2.azurewebsites.net

最好的方法是什么? (我想保留两个应用程序服务。不将两个应用程序打包为一个虚拟目录)

我试过使用可以为此配置的 Azure 应用程序网关,但后来我无法将 Web 应用配置为接受来自同一自定义域的流量。

总而言之,这就是我所做的:

这足以让第一条路线成功。现在 http://mysite.mydomain.com/site1 很高兴 returns 来自第一个应用服务网络应用的响应。

但是,当我对第二个站点进行类似的配置时。第二个网络应用拒绝接受与第一个相同的自定义域说:

Hostname is already being used in the following App: mysite1. Please remove the Hostname from mysite1, and try again.

那么如何将相同的自定义域添加到两个应用服务 Web 应用,以便它们可以在这样的场景中使用?

这可以通过在 Azure 网络应用程序中通过 URL 重写模块 实现 反向代理 功能来实现。请在此处参考 Ruslan 的博客 post: http://ruslany.net/2014/05/using-azure-web-site-as-a-reverse-proxy/

这是一个 2 步过程:

  1. 通过站点扩展启用反向代理功能。
  2. 添加反向代理重写规则生效