2011-02-24 5 views
2

내 응용 프로그램에서 사용자 지정 도메인을 사용하는 방법을 파악하는 데 어려움을 겪고 있습니다. 예를 들어 하위 도메인에 사용자를 할당하는 앱을 사용하는 일반적인 경우입니다 (예 : user.theapp.com과 CNAME을 사용하여 m.theirsite.com이 응용 프로그램으로 연결되도록합니다. 이렇게하는 대부분의 서비스에서는 사용자 정의 도메인이 무엇인지 알려주고 CNAME 레코드를 추가하는 것만으로는 작동하지 않는 것으로 보입니다. 단계 :CNAME 사용자 지정 하위 도메인 문제

  1. 사용자가 계정을 만듭니다.
  2. CNAME 항목을 yourstuff.theapp.com (현재 위치)에 만들 수 있다고 말합니다.
  3. 이것은 내 혼란입니다. 1 & 2 이후 내 맞춤 도메인은 여전히 ​​작동하지 않습니다. 클라이언트가 CNAME 레코드를 만들고 "m.theirsite.com"을 제공하면 사이트를 "동일하게"만들기 위해 어떤 특별한 마술을합니까?

감사합니다.

답변

3

우리의 해결책은이 문제를 해결하기 위해 PHP/MySQL을 사용하는 것이 었습니다. 평소처럼 앱에 외부 도메인/하위 도메인 CNAME을 설정해야하지만 CNAME 항목은 앱의 하위 도메인과 정확히 일치 할 필요는 없습니다. 다음으로, 사용자가 데이터베이스에 CNAME이있는 외부 사이트를 알려주는 영역을 만듭니다. 이 시점에서 HTTP 호스트를 기반으로 웹 사이트에서 대부분의 인증을 수행합니다. 하위 도메인을 가져 와서 클라이언트로 사용하거나 HTTP 호스트가 CNAME 목록에 있는지 확인한 다음 클라이언트를 참조합니다 .

CNAME이 수행하는 작업은 서버 위치를 가리키는 것일 뿐이므로 Apache 구성에서 와일드 카드를 사용하는 경우 foo.myapp.com은 bar.myapp.com과 동일한 위치를 확인하지만 앱에서 사용할 수 있습니다. 호스트는 하위 도메인을 꺼내 클라이언트 ("foo"및 "bar")를 찾습니다. m.mywebsite.com --cnamed -> foo.myapp.com과 같은 CNAME을 사용할 때 응용 프로그램에는 더 이상 HTTP 호스트에 클라이언트 정보가 없으며 언급 한 것처럼 Apache 와일드 카드 설정 (* .myapp. com)은 하위 도메인을 버립니다. 클라이언트가 "나는 m.mywebsite.com에서 방문 할 것이므로 내 인증을위한 올바른 호스트 이름을 지정해야합니다."라고 고객에게 알려야합니다.