在Azure

时间:2015-08-10 07:56:16

标签: azure azure-web-sites

我的azure web应用程序(myapp.azurewebsites.net)已映射到自定义域(client1.mycompany.com)。

我将每个客户端映射到一个更自定义的域(client2.mycompany.com,client3.mycompany.com等)。

在Web应用程序中我正在使用

HttpContext.Current.Request.Url.Host 

获取正在访问该应用程序的自定义域地址。但它有时会返回myapp.azurewebsites.net而不是自定义域。

知道如何以可靠的方式在Azure中自定义域名网址吗?

2 个答案:

答案 0 :(得分:1)

正如Admir在回答中所说,默认的* .azurewebsites.net绑定无法删除,但很容易阻止用户为您的网站使用此域名。

<rewrite>
<rules>
<rule name="Canonical Host Name" patternSyntax="Wildcard" stopProcessing="true">
    <match url="*" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="client1.mycompany.com" negate="true" />
    </conditions>
    <action type="Redirect" url="http://client1.mycompany.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>

答案 1 :(得分:0)

*。azurewebsites.net是不可移动的,这意味着如果有人通过DNS绑定访问您的网站,则您无法控制它,这解释了当您尝试检查HttpContext.Current.Request.Url.Host时为什么会这样做。

您唯一能做的就是选择忽略直接发送到该绑定的请求,方法是将用户重定向到:

  • 自定义页面(即404)
  • 某些默认自定义域