질문이 있습니다.
Apache2 서버를 가리키는 A 레코드를 생성하고 하위 도메인이 있는 가상 호스트를 생성하는 경우. 그러면 추가 기록을 만들지 않고도 하위 도메인에 액세스할 수 있나요?
답변1
DNS A 레코드와 Apache VirtualHosts를 혼동하는 것 같습니다. 그들은 완전히 다른 수준에서 작동하며 실제로 상호 교환이 불가능합니다.
Apache의 경우 섹션을 지정하면 <VirtualHost>
해당 섹션의 모든 s에 대한 요청을 수신할 때 수행할 작업을 Apache에 지시합니다. ServerName
그러나 외부 세계는 DNS에서 서버를 가리키지 않는 한 서버에 이러한 이름을 묻지 않으므로 두 가지가 모두 필요합니다.
(예, 여기서는 와일드카드를 건너뛰고 있다는 것을 알고 있습니다. DNS와 웹 호스팅을 처음 접하는 사람들을 위해 간단하고 명확하게 유지하려고 노력하고 있습니다.)
www.foo.com
예를 들어보겠습니다. address 에 있는 서버를 가리키는 A 레코드가 있다고 가정해 보겠습니다 1.2.3.4
. 다음 VirtualHost
섹션이 있습니다.
<VirtualHost *:80>
ServerName www.foo.com
DocumentRoot /var/www/html
-- etcetera ---
</VirtualHost>
이는 포트 80의 www.foo.com에 대한 모든 연락처 요청이 이 섹션의 지침에 따라 처리되어야 함을 Apache 서버에 알려줍니다.
이제 하위 도메인을 추가한다고 가정해 보겠습니다.
<VirtualHost *:80>
ServerName sub.foo.com
ServerAlias sub2.foo.com
DocumentRoot /var/www/subdomain/html
--- etc ---
</VirtualHost>
이제 Apache 서버에 방법을 알려주었습니다.대답하다요청 sub.foo.com
하고 sub2.foo.com
. 그러나 A 레코드에 포인터를 추가하지 않으면 아무도 이에 대해 알 수 없습니다 sub.foo.com
.1.2.3.4
도착하다서버에 도메인을 요청하세요.
답변2
캔트. 동일한(또는 다른) IP 주소를 가리키는 또 다른 A 레코드 또는 기존 도메인을 가리키는 CNAME 레코드가 필요합니다.