如何为子域正确设置hostHeader?

时间:2011-12-04 20:06:27

标签: iis iis-7 azure dns subdomain

我创建了两个这样的网站:

<Sites>
  <Site name="WebRole" physicalDirectory="./WebRole">
    <Bindings>
         <Binding name="Endpoint1" endpointName="HttpEndpoint" />
    </Bindings>
  </Site>   
  <Site name="MySite" physicalDirectory="./MySite">         
      <Bindings>                     
         <Binding name="Endpoint" endpointName="HttpEndpoint"  hostHeader="www.MySite.com"/>                    
      </Bindings>     
  </Site>
</Sites>

我已在CNAME(别名)下更改了我的DNS - &gt; www到xxx.cloudapp.net

因此,当我输入www.MySite.com时,它会进入我的云应用程序,hostHeader被识别并转到正确的物理站点。 HostHeader工作正常。

现在我尝试做与子域相同的事情。

<Site name="MySite" physicalDirectory="./MySite">       
        <Bindings>                   
            <Binding name="Endpoint" endpointName="HttpEndpoint"  hostHeader="sub.MySite.com"/>                     
        </Bindings>       
</Site>

在DNS管理器中,我没有尝试在CNAME中执行此操作,而是将子域的掩码转发到同一侧的地址xxx.cloudapp.net。

但这不起作用。它只是打开第一个站点。似乎没有理解HostHeader以指向第二个物理路径。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

据我所知,“屏蔽转发”通常使用框架,如果是这种情况,主机标头信息将不会转发到Azure。

您的DNS主机将创建一个带有框架的网站,该框架的数据将来自xxx.cloudapp.net网站。由于没有转发主机头信息,Azure负载均衡器将无法使用备用站点。

我担心您似乎需要使用CNAME系统明确转发主机名。