2011-12-04 2 views
1

나는이 같은 두 개의 사이트를 만들었습니다하위 도메인에 대해 hostHeader를 올바르게 설정하는 방법은 무엇입니까?

<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를 변경 - 나는 www.MySite에 입력 할 때> WWW 따라서

을 xxx.cloudapp.net 할 수 있습니다. 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가 두 번째 물리적 경로를 가리 키기 위해 이해되지 않는 것 같습니다.

무엇이 누락 되었습니까?

+0

나는 마스킹이 문제라고 생각한다. 어떻게 마스킹을 했니? 하위 도메인에 도달하려고 할 때 발생하는 상황을 피들러에게 확인하십시오. 왜 CNAME을 사용하지 않았습니까? – astaykov

답변

1

"마스크 된 전달"이라고 말할 수있는 한 일반적으로 프레임을 사용하여 작동하며 호스트 헤더 정보가 Azure로 전달되지 않습니다.

DNS 호스트는 프레임이있는 웹 사이트를 만들고 해당 프레임의 데이터는 xxx.cloudapp.net 사이트에서 가져옵니다. Azure로드 밸런서는 호스트 헤더 정보를 전달하지 않으므로 대체 사이트를 사용할 수 없습니다.

호스트 이름을 명시 적으로 전달하기 위해 CNAME 시스템을 사용해야 할 것 같습니다.

+0

감사합니다. 당신 말이 맞아요. 여기에 질문을 올리면 포워딩을해야한다는 것을 깨달았습니다. 나는 단순히 하위 도메인의 이름을 CName으로 입력하여 xxx.cloudapp.net으로 전달했습니다. 이제 내 하위 도메인이 작동합니다. 모두 포워딩하지 않는 것이 가장 좋습니다. – Houman

관련 문제