我想使用基于路径的路由到我的 azure 应用服务 Web 应用,以便
http://mysite.mydomain.com/site1指向http://mysite1.azurewebsites.net http://mysite.mydomain.com/site2指向http://mysite2.azurewebsites.net
执行此操作的最佳方法是什么? (我想保留两个应用程序服务。不要将两个应用程序打包为一个虚拟目录)
我尝试使用可为此进行配置的 Azure 应用程序网关,但随后我无法将 Web 应用程序配置为接受来自同一自定义域的流量。
总而言之,这就是我所做的:
mysite.mydomain.com 的 DNS 记录通过 CNAME 记录指向应用程序网关的 FQDN
应用程序网关配置为:
http://mysite.mydomain.com/site1指向http://mysite1.azurewebsites.net http://mysite.mydomain.com/site2指向http://mysite2.azurewebsites.net
为了使网络应用程序响应此重定向请求,需要为它们配置自定义域。由于 mysite.mydomain.com 的 CNAME 记录指向应用程序网关,因此我无法将其移至 Web 应用程序。因此我添加了一条 TXT 记录并添加了
awverify.mysite1 指向 http://mysite1.azurewebsites.net
这足以使第一条路线发挥作用。现在http://mysite.mydomain.com/site1愉快地返回来自第一个应用服务网络应用的响应。
但是,当我对第二个站点进行类似的配置时。第二个网络应用程序拒绝接受与第一个网络应用程序相同的自定义域:
Hostname is already being used in the following App: mysite1. Please remove the Hostname from mysite1, and try again.
那么如何将相同的自定义域添加到两个应用服务 Web 应用,以便它们可以在这样的场景中使用?
最佳答案
这可以通过 Azure Web 应用中的URL 重写模块实现反向代理功能来实现。请参阅 Ruslan 的博客文章: http://ruslany.net/2014/05/using-azure-web-site-as-a-reverse-proxy/
这是一个两步过程:
- 通过网站扩展启用反向代理功能。
- 添加反向代理重写规则才能生效。
关于azure - Azure 应用服务 Web 应用的基于路径的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46048621/