【问题标题】:Create subdomains in staging azure web role在暂存 azure web 角色中创建子域
【发布时间】:2013-03-26 09:29:30
【问题描述】:

我有两个项目的解决方案: - Project1 是一个 asp.net mvc 4 项目 - Project2 是一个 asp.net webapi 项目

我想让它们都在同一个 webrole 上,在生产中我似乎可以执行以下操作:

  • 所有发往 mydomain.com 的请求都将发往 MVC 项目
  • 所有到 api.mydomain.com 的请求都将转到 webapi 项目

在暂存时,基本 url 类似于 ec3abfacbfb27a1800f6bc0f2b168121.cloudapp.net,有没有办法做到这一点:

  • 所有发往 ec3abfacbfb27a1800f6bc0f2b168121.cloudapp.net 的请求都将发往 MVC 项目
  • 对 api.ec3abfacbfb27a1800f6bc0f2b168121.cloudapp.net 的所有请求都将转到 webapi 项目

提前致谢

【问题讨论】:

    标签: asp.net-mvc-4 azure asp.net-web-api azure-web-roles


    【解决方案1】:

    没有。 在您的特定场景(以及更多场景)中,我建议根本不要使用登台环境。请改用其他生产环境。例如,将其命名为[myapp-stating].cloudapp.net

    比使用您自己的自定义域创建一个映射(比如说它是myapp.com):

    • staging.web.myapp.com -> CNAME -> myapp-staging.cloudapp.net
    • staging.api.myapp.com -> CNAME -> myapp-staging.cloudapp.net

    【讨论】:

      【解决方案2】:

      首先,在您的网络应用程序中设置路由(如果您尚未设置)。它应该在主机名上查找 api 前缀,否则与 URL 无关。

      然后,对于使用浏览器进行手动测试,编辑 %SystemRoot%\System32\drivers\etc\hosts 并为 api.abcdefghijklmnopqrstuvwxyz.cloudapp.net 添加一行,使用您的登台服务器的 IP 地址。

      对于自动化测试,让测试客户端使用其常规主机名(不带api 前缀)连接到登台服务器,但根据需要设置Host 标头以包含api 前缀。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多