Iis 如何为子域正确设置hostHeader?

Iis 如何为子域正确设置hostHeader?,iis,iis-7,azure,dns,subdomain,Iis,Iis 7,Azure,Dns,Subdomain,我创建了两个类似这样的站点: <Sites> <Site name="WebRole" physicalDirectory="./WebRole"> <Bindings> <Binding name="Endpoint1" endpointName="HttpEndpoint" /> </Bindings> </Site> <Site name="MySite" ph

我创建了两个类似这样的站点:

<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(别名)->www下的DNS更改为xxx.cloudapp.net

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

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

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

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

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

我遗漏了什么?

据我所知,“屏蔽转发”通常通过使用帧来工作,如果是这种情况,主机头信息将不会转发到Azure

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

恐怕您需要使用CNAME系统来显式转发主机名。

据我所知,“屏蔽转发”通常通过使用帧来工作,如果是这种情况,主机头信息将不会转发到Azure

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


恐怕您需要使用CNAME系统来显式转发主机名。

我认为屏蔽是问题所在。你是如何设置掩蔽的?和fiddler一起检查当你试图点击你的子域时会发生什么。你为什么不使用CNAME?我认为屏蔽是问题所在。你是如何设置掩蔽的?和fiddler一起检查当你试图点击你的子域时会发生什么。你为什么不使用CNAME?谢谢。你是对的。在这里提出这个问题后,我意识到它一定与转发有关。我设法简单地输入子域名作为CName,并将其转发到xxx.cloudapp.net。现在我的子域工作了。最好不要完全转发。谢谢。你是对的。在这里提出这个问题后,我意识到它一定与转发有关。我设法简单地输入子域名作为CName,并将其转发到xxx.cloudapp.net。现在我的子域工作了。最好避免完全转发。