DNS 관련 질문

기본적인 DNS 질문을 해서 죄송합니다. 이건 Discourse와 직접적으로 관련이 있는 문제는 아니지만, Discourse를 함께 사용할 때 가장 좋은 방법을 찾아보고자 합니다.

저는 서브도메인(예: community.example.com)에 Discourse 서버를 설정하고 싶습니다.

그러나 루트 도메인(예: example.com)에서 사용자를 서브도메인(예: community.example.com)으로 리다이렉트하길 원합니다.

이렇게 함으로써 루트 도메인을 향후 다른 서비스(예: 웹서버)를 위한 용도로 확보해 두면서도, 당장은 사용자가 서브도메인을 직접 입력하지 않아도 Discourse 서버에 접근할 수 있도록 하려는 것입니다.

루트 도메인과 서브도메인 각각에 대해 A 레코드 두 개를 설정하여 모두 Discourse 서버를 가리키는 것이 가장 좋은 방법일까요?

처음에는 루트 도메인에서 서브도메인으로 가리키는 CNAME을 설정해야 한다고 생각했지만, DigitalOcean에서는 그렇게 할 수 없는 것 같습니다.

미리 감사드립니다. 그리고 또 한 번, 기본적인 질문을 해서 죄송합니다.

맞습니다. 그렇게 하면 DNS가 깨집니다.

CNAME flattening을 지원하는 프로바이더(실제로는 A/AAAA 레코드를 자동으로 처리하는 것)를 사용하면 이 방법이 작동합니다.

또는 커뮤니티 호스트명을 아펙스 도메인 이름으로 CNAME으로 설정할 수도 있습니다.

그러면 example.com의 A 레코드가 discourse 서버의 IP를 가리키고, CNAME은 community.example.com을 example.com의 별칭으로 설정하는 것이죠?

그렇다면 discourse 서버가 example.com에 위치하게 되는 건가요? 그냥 머릿속으로 이 부분을 명확히 하고 싶어서요.

귀하의 용도에 따라, CNAME 레코드는 DNS 조회 시 포인터에 불과합니다. 브라우저는 CNAME 리디렉션을 따르지 않습니다.

어떤 경우든, example.com에 대한 웹 서버를 구성하여 community.example.com으로 리디렉션하도록 설정해야 합니다.

과거에 여러 번 이렇게 해본 적이 있는데, 항상 마주치는 “함정” 중 하나는 http://example.org → https://discourse.example.org입니다.

리다이렉트 방식에 따라 브라우저에서 보안이 없는 웹사이트에 연결하려고 한다는 메시지가 표시될 수 있습니다.

이를 해결하기 위해 Gandi의 등록업체를 통해 리다이렉트에 SSL 인증서를 발급해주는 리다이렉트 서비스를 사용합니다. 그들은 이를 "웹 포워딩"이라고 부릅니다.

방문자들이 어떻게 접속하는지 확인하기 위해 HTTP와 HTTPS 프로토콜을 사용하여 리다이렉트를 테스트해 보세요. :slight_smile: