1

我创建了一个具有 2 个 Web 角色的云服务(一个是“公共”站点,另一个是“管理后端”)。

我在 azure 中部署了解决方案,并创建了具有 Web 角色的云服务。我可以使用以下方式访问这两个站点:

前端

http://my-app.cloudapp.net:80/

后端

http://my-app.cloudapp.net:8080/

这是问题所在:我想将后端作为主站点的子域访问。我尝试更新使用 CNAME 的 DNS (GoDaddy),但我无法找到解决方案,因为我似乎无法使用端口号。一种解决方案是创建 2 个云服务,每个云服务只有一个 Web 角色(当然,两者都使用端口 80);但由于业务需求,这不是一个好主意。有任何想法吗?

FWIW,这就是我想要的:

前端

http://my-app.com

后端

http://dashboard.my-app.com
4

2 回答 2

1

您应该能够使用您的主机名添加两个 CNAMES 或 A 记录,指向同一个站点/端口。然后,您可以使用URL 重写将主机名映射到不同的目录,例如(未经测试的);

<rewrite>
  <rules>
    <rule name="Dashboard rewrite" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^dashboard\.my-app\.com$" />
      </conditions>
      <action type="Rewrite" url="http://my-app.com/dashboard/{R:0}" />        
    </rule>
  </rules>
</rewrite>

这将/应该重写对 的访问,http://dashboard.my-app.com/test.aspxhttp://my-app.com/dashboard/test.aspx浏览器留下两个独立应用程序的印象。

于 2013-10-31T18:28:22.627 回答
0

使用 DNS CNAME,您只能从一个主机名指向另一个主机名。端口号是完全不同的项目。

您可以安装 HTTP 反向代理服务器以将请求转发到适当的云服务。(例如 HAProxy、nginx、IIS ARR 等)。这个 SO 问题中有一些解决方案:如何创建在 Azure 中运行的反向代理?

于 2013-10-31T17:46:35.420 回答