외부 도메인을 하위 도메인으로 지정하는 방법은 무엇입니까?

외부 도메인을 하위 도메인으로 지정하는 방법은 무엇입니까?

나는 도메인을 가지고 example.com있으며 모든 하위 도메인이 동일한 이름을 가진 디렉터리를 가리키는 방식으로 Ubuntu Apache 서버를 설정했습니다.

<VirtualHost *:80>
    ServerAlias *.example.com
    VirtualDocumentRoot /var/www/html/%1
</VirtualHost>

그래서 subdomain.example.com가리킬 것입니다 example.com/subdomain.

사용자가 자신이 선택한 하위 도메인을 자신의 사용자 지정 도메인으로 지정하도록 허용하려고 합니다. 이를 달성하려면 어떻게 해야 하며, 필요한 기록은 무엇인지, 도메인에 대해 수행해야 할 작업은 무엇입니까?가상 호스트?

나는 다음 기록을 시도했습니다.

  • sampledomain.example(CNAME기록) - @-->sample.example.com
  • sampledomain.example (ㅏ기록) - @--> ( IPexample.com 주소)

또한 www.A record

sample.example.com성공적으로 을 가리킵니다 example.com/sample. 그러나 sampledomain.example어떤 이유로 루트 사이트처럼 작동합니다.

그래서 를 방문하면 을 가리키는 것이 아니라 sampledomain.example/sample의 내용을 얻게 됩니다 .example.com/samplesample.example.com

이것을 어떻게 정리할 수 있습니까? 어떤 기록이 필요하며 가상 호스트에 어떤 조치를 취할 수 있습니까?

사용자가 방문할 때 PHP를 통해 사용자 정의 도메인 이름을 검색할 수 있도록 CNAME 레코드를 사용했습니다. CNAME이 필요합니까?

답변1

고객의 요청에 따라 이 작업을 수동으로 수행해도 괜찮다면 쉽습니다. 당신이 해야 할 일은 ServerAlias sampledomain.com가상 호스트 구성에 추가하고 웹 서버 구성을 다시 로드하는 것뿐입니다.

그러나 일종의 고객 제어 인터페이스에서 고객이 직접 이 작업을 수행하도록 하려는 경우 웹 서버의 가상 호스트가 작동하는 방식으로 인해 쉽게 달성할 수 없습니다. 이유는 다음과 같습니다.

A웹 서버에 매핑된 DNS 레코드( 또는 에 관계없이 CNAME) 가 있는 경우 브라우저는 HTTP 헤더가 로 설정된 sampledomain.com서버 IP 주소로 요청을 보냅니다 . 웹 서버는 이 헤더를 사용하여 이를 처리할 가상 호스트를 결정하고 가상 호스트 이름도 별칭도 아닌 경우 경험한 대로 기본 가상 호스트가 요청에 응답합니다.Hostsampledomain.comsampledomain.com

이를 가능하게 하려면 고객이 가상 호스트에 대한 별칭을 구성할 수 있는 방법이 필요합니다. Apache를 사용하면 쉽지 않지만 이론적으로는 설명된 대로 데이터베이스에서 이를 읽을 수 있습니다.여기(나는 이것을 시도한 적이 없으므로 이것이 작동하는지 전혀 모릅니다.)

또한 다음과 같은 것들이VirtualMin그런 경우에는 도움이 될 수 있습니다.

관련 정보