2014-10-21 5 views
0

사용자에게 하위 디렉토리 도메인에있는 응용 프로그램의 고유 한 인스턴스를 제공하는 웹 응용 프로그램을 만들고 싶습니다. 예를 들어 블로그 플랫폼이라면 "yourblog.blogwebapp.com"을 얻을 수 있습니다. Azure에서 각 하위 도메인 사이트에 대해 새 웹 사이트를 만들거나 기존 웹 사이트의 가상 응용 프로그램 섹션에 만들어야합니까? 내가 새 웹 사이트 경로를 방문한다면 어쨌든 자신의 도메인이 "yourblog.blogwebapp.com"인지 확인해야하며 가능한 경우 확실하지 않습니다. 또한, 프로그래밍 방식으로 가상 응용 프로그램을 즉시 추가 할 수 있는지, 그리고 전체 웹 사이트를 다시 시작해야 할 필요가 없는지 확실하지 않습니다.Azure에서 하위 디렉토리 웹 응용 프로그램을 만드는 방법

누군가 내가 MSDN이나 블로그 게시물을 통해 올바른 방향으로 나를 가리킬 수 있다면 좋을 것 같네요.

+0

리소스가 편리하지 않지만 URL 재 작성만으로도 가능하다고합니다. 전용 IP 주소로 호스팅해야합니다. 현재 사이트에서 이와 동일한 기술을 사용하므로 사용자가 username.example.com을 가질 수 있습니다 (example.com/site/?u=username으로 다시 작성). URL 재 작성은 서버 설정을 엉망으로 만들고 서브 도메인을 즉석에서 생성하는 것을 피하기 위해 여기에서 필요로하는 것입니다. – trnelson

+0

길 아래 사람들이 user.example.com 및 SSL 대신 자신의 도메인을 사용하고 싶다면 어떻게해야합니까? 나는 Azure 웹 사이트에서 실행해야한다고 생각합니다. 맞습니까? – Stephen

+0

맞춤 도메인 사용도 가능합니다. 나는 오래된 코드를 파헤쳐 야 할 것이다. 그러나 나는 확실히 그것을했다. SSL에 대해서는 확실하지 않습니다. – trnelson

답변

0

의견에 대한 토론에서 사용자가 맞춤 도메인을 사용할 수있게하기 위해 이전에 사용한 URL 다시 쓰기 규칙은 다음과 같습니다. 이 인증서가 SSL 인증서와 함께 사용 가능한지 테스트해야합니다 (최소한 해당 도메인에 대한 SSL 인증서를 설치해야하기 때문에 까다로울 수 있습니다).

이 접근 방식의 핵심은 도메인 이름이 사용자와 연결되어 있음을 알고있는 데이터 저장소에 있어야한다는 것입니다. 마지막으로 Page.aspx?d={R:1}으로 리디렉션하면 요청한 도메인을 검색 한 다음 특정 사용자의 페이지로 리디렉션 할 수 있습니다. 예를 들어, 데이터 저장소의 어딘가에 Page.aspx?d=www.example.com으로 다시 쓰는 경우 사용자는 해당 도메인 이름을 계정에 "등록"하고 전자 메일 유효성 검사를 통해 확인한 다음 내용을 올 바르게로드 할 수 있습니다.

내 코드에서 사용한 정규 표현식이 정확하지 않아서 (현재 사이트에서이 기능을 사용하지 않고 있습니다.) 그래서 아래에 제공하지 않았지만 설정하는 것이 매우 간단해야합니다. 뭐야 할 수 있습니다 귀하의 주요 도메인 이름을 감지하고 아무 것도하지 않으며 처리를 중지 규칙을 가지고 그 후에 당신은 재 작성을 할 수있는 다른 모든 도메인 이름을 감지하는 또 다른 규칙이 있습니다. 다행히도 그것은 의미가 있습니다. 그렇지 않다면 알려주십시오.

<rewrite> 
    <rule name="UserDomain" stopProcessing="true"> 
     <match url="(.*)" /> 
     <conditions> 
      <add input="{HTTP_HOST}" pattern="*** regex to detect domain names ***" /> 
     </conditions> 
     <action type="Rewrite" url="/Page.aspx?d={R:1}" /> 
    </rule> 
</rewrite>