2012-10-21 7 views
7

가능한 중복 : 나는 사용자가 내 웹 사이트에 의해 호스팅 자신의 가상 저장소를 생성 할 수 있도록 웹 사이트를 구축하는거야
Is it possible to make an ASP.NET MVC route based on a subdomain?사용자가 내 MVC 웹 사이트에서 하위 도메인을 만들 수있게하려면 어떻게해야합니까?

.

Think eBay; 소기업들이 상점을 만들게합니다. 예를 들어

:

www.foo.com     - The main website. 
www.georgestires.foo.com - "George's Tires" online store. 

나는 사용자가 어느 정도 자신의 스타일 시트 및 사용자 지정을 만들 수 있습니다,하지만 그건 나중에입니다. 지금은 MVC 3 웹 사이트에서이 기능을 구현하는 방법에 대해 궁금합니다.

저는 다리가없는 스탠드를 제로에두고 있습니다. 모든 조언을 부탁드립니다. 나는 IIS에서 "bar.foo.com"하위 도메인 바인딩을 만들고 ASP.Net MVC3 응용 프로그램에 대한 직접적인 흐름을 만들 수 있다는 것을 알고 있지만, 누군가가 자신의 저장소를 만들 때마다 프로그래밍 방식으로 새로운 제본?

그게 가능합니까? 그 접근 방식을보고 있어야합니까?

+0

@ lazyberezovsky : 그 질문을 연결해 주셔서 감사합니다. 그러나 그 답변 중 아무 것도 나를 신청하지 않습니다. 내 "하위 도메인"**은 미리 알 수 없으므로 ** 역동적이고 "창조적"이어야합니다. 만약 당신이 사이트에 등록했다면 당신은 사이트의 소유자로서 나로부터 어떠한 상호 작용없이'lazyberez.foo.com'을 생성 할 수 있어야합니다. – sergserg

+0

와일드 카드로 라우팅 시도 –

답변

7

bind DNS 서버와 마이크로 소프트의 DNS 서버를 모두 설정에 허용 도메인의 존재하지 않는 항목과 일치 wildcard entry : 다음

*.example.com. 3600 IN CNAME host1.example.com. 

하면 설치 URL을 도는 IIS의 URL 재 작성 규칙 예 :

이렇게하면 데이터베이스를 사용하여 복제 된 사이트를 관리 할 수 ​​있습니다.

유일한 단점은 DNS system이 설정에 양식 www.*.yourdomain.tld

0

아파치에서 "URL 다시 쓰기"링크를 수행하는 윈도우 세계에서 가능한 경우 나도 몰라의 와일드 카드 항목을 허용하지 않는다는 것입니다.

그래서 사람들은 www.georgestires.foo.com을 볼 수 있지만 사실 www.foo.com/georgestires가됩니다. 이렇게하면 각 계정에 실제 하위 도메인을 만들지 않아도됩니다.

0

서버를 가리키는 DNAME 레코드가 필요하며 단순히 포트 80에서 모든 요청을 수락하고 응용 프로그램에 보내도록 IIS를 구성해야합니다. 들어오는 도메인을 확인하려면 hostheader를 확인하십시오.

이제 SSL에 대해 더 많은 작업이 필요합니다. 다시 * .mydomain 인증서가 정상적으로 작동 할 수 있습니다.

+0

내 웹 사이트에 상점을 만드는 모든 잠재적 인 클라이언트에 대해 DNAME 레코드를 만들어야합니까? 그건 할 수없는 것처럼 보입니다. – sergserg

+0

@Serg,/[RFC] 링크 (http://tools.ietf.org/html/rfc2672)를 확인하십시오. 단 하나의 레벨 만 제공하는 와일드 카드 CNAME보다 좋습니다. –

관련 문제