이 글은 root 도메인에 A 레코드를 지정하지 못하는 상황에서, root 도메인을 www로 리다이렉트하는 서비스를 이용하여, www 서브도메인으로 root 도메인까지 호스팅하는 방법에 관한 이야기에요.

도메인 관리 업체에서 지원하지 않는 등의 이유로 root 도메인에 A 레코드를 활용할 수 없지만, root 도메인에 대해 연결을 하고 싶을 때 사용하면 됩니다. 또는 같은 상황에서 티스토리나 깃허브 블로그에 root 도메인을 연결할 때도 쓸 수 있어요.


root 도메인이 뭔데?

root 도메인이란 서브도메인이 없는 도메인을 의미합니다. Naked 도메인이나 Bare 도메인이라고 부르기도 해요. 그러니까 이 블로그를 예로 들면,

blog.banyazavi.com

여기서 .comTLDTop Level Domain라고 하고, banyazavi 부분이 2nd-level domain입니다. 그리고 blog. 부분이 sub-level domain. 즉, 서브도메인이 되는 거죠. 그러니까 서브도메인이 없다? 아무 수식어도 붙지 않은 banyazavi.com을 의미합니다.

요즘 같은 시대에 root 도메인이 어떤 위상을 가지냐 하면, 사이트 자체를 의미하는 정도의 중요한 위치에 있습니다. 사실 사이트 대부분은 www로 시작하는 서브도메인이 공식적인 주소이지만, 근래에 와서는 이를 생략하고 표현할 때도 많고, 심지어는 www. 도메인이나 root 도메인이나 같은 것이라고 생각할 때도 많습니다. 그러니까 www.는 연결되어 있는데 root 도메인이 연결되지 않는다? 그럼 이용자들에게 “사이트가 연결이 안 되던데요 ㅠㅠ” 하는 피드백을 받게 되는 거죠.

그러면 “까짓거 뭐 root 도메인도 연결하면 되네!” 싶지만,

도메인을 연결합니다. 연결하겠습니다. 안 되잖아?

문제는 일부 도메인 관리 업체의 네임서비스가 root 도메인에 대한 CNAME 레코드를 지원하지 않는다는 겁니다. root 도메인에 한정해서는 오직 A 레코드만 사용할 수 있는데, 이는 root 도메인을 항상 고정 IP로만 연결해야 한다는 뜻입니다. 그런데 보통의 경우 고작 홈서버 하나 운영하자고 그 비싼 고정 IP를 신청하기는 힘들 거예요. 그럴 거면 차라리 웹 호스팅을 받지…

호스팅케이알의 네임서버 관리 화면

제가 사용하는 호스팅케이알의 네임서버 관리 화면입니다. 당연하다는 듯이 root 도메인의 CNAME을 사용을 고려하지 않습니다.

역시 싼 맛에 어설픈 도메인 회사에서 샀다가 이렇게 피 보는구나 싶지만… 그런데 이게 원칙이에요! RFC 1912을 보면 이렇게 정해져 있거든요.

2.4 CNAME records
A CNAME record is not allowed to coexist with any other data. In other words, if suzy.podunk.xx is an alias for sue.podunk.xx, you can’t also have an MX record for suzy.podunk.edu, or an A record, or even a TXT record. Especially do not try to combine CNAMEs and NS records like this!:
… 후략

“CNAME 레코드는 다른 데이터와 공존할 수 없습니다.” 무슨 말이냐면, 특정 도메인이 CNAME 레코드로 기술될 때는 같은 도메인 (=서브도메인이 같은 경우) 에 CNAME 레코드만 있어야 한다는 이야기에요. 문제는 root 도메인의 경우 도메인 존의 표기를 위해 SOAStart Of Authority 레코드와 NSName Server 레코드가 필수로 들어간다는 것이죠. (물론 보통의 네임서비스 화면에는 잘 표현되지 않습니다. AWS 같은 경우가 아니라면요)

아무튼, 이건 문제가 좀 있네요. 유동 IP는 root 도메인을 쓸 수가 없다니… 그래서 이를 극복할 수 있는 서비스가 찾아봤습니다.

아주 간단한 방법, wwwizer의 Nake Domain Redirect 서비스를 이용하기

wwwizer.com이라는 SSL 프록시 서비스 업체가 있습니다. 이 업체가 제공하는 root 도메인 리다이렉트 서비스는 적용이 매우 간단합니다. 해당 업체의 사이트에서는 그 방법을 이렇게 소개하고 있습니다.

How can I use this service?
Point your “naked domain” (example.com not www.example.com!) to IP address 174.129.25.170

어떻게 이 서비스를 사용할 수 있나요?
당신의 “naked(root) 도메인” (www.example.com 아니고 example.com)을 IP 174.129.25.170에 연결하세요.

즉, 위의 저 IP를 네임서버 root 도메인의 A 레코드에 넣으면 알아서 www.로 리다이렉트 시켜줍니다. 참 쉽죠?

그런데 이 방법, 조금 찜찜합니다.

  1. 살짝 느립니다. 뭐, 당연히 서버는 해외에 있을 것이고, 무료에 등록도 안 하고 이 업체의 IP 지정하기만 하면 모든 도메인에 www. 붙여서 돌려준다는 서비스인데 이게 마냥 빠를 수는 없겠죠.
  2. 신뢰할 만한 업체일까요? 외관이 모든 것을 결정하지는 않지만, 사이트를 들어가 보면 너무나 단순해서 불안할 정도네요.

이런 서비스의 공통적인 문제점이겠지만, 저희는 이 업체에 A 레코드의 처리를 위탁하게 되므로 업체가 나쁜 마음을 먹거나 해킹당했을 경우 사이트 위조 같은 문제가 발생할 수 있겠네요. 일단 느리기도 하고요.

그래서 조금 더 예쁜 신뢰 가는 서비스를 찾아봤습니다.

등록하여 사용하는 방법, NakedSSL 서비스 이용하기

NakedSSL은 이름만 봐도 알 수 있듯이, 원래는 Naked (root) 도메인에 대하여 SSL을 적용해 주는 사이트입니다. 리다이렉트 표적이 되는 www. 사이트에 SSL 인증이 되어야 한다는 전제가 필요하긴 하지만, 그 때문에 아까와 같은 방식처럼 무분별하게 사용된다는 느낌은 없네요. 1개 사이트에 대한 리다이렉트까지 무료이고, 그 이상의 경우 요금이 발생하니, 다수의 도메인을 관리할 때는 다수의 G메일 주소를 생성할 것을 결제를 고려해 봅시다.

NakedSSL 홈페이지
신뢰의 상징 예쁜 홈페이지

어찌어찌 회원가입을 하고 나면 아래와 같은 대시보드가 나옵니다.

NakedSSL 대시보드
사막과 같이 공허하다니 어머 오빠 너무 낭만적이야

여기에 Add Domain 버튼을 눌러 우리 사이트를 추가해 봅시다.

NakedSSL 사이트 추가 화면

사이트 주소를 이렇게 넣고 Next를 누르면,

NakedSSL 리다이렉트 서버 지역 선택 화면

도메인을 리다이렉트 해줄 서버를 선택하는 화면입니다. 이 서버는 결국 도메인 이름을 중개해주는 역할이므로, 사용자와 가까이 있는 것이 좋죠. 실험해본 결과 한국에서는 미국 서버가 더 빠르네요.

NakedSSL 상세 설정 화면

이어서 상세 설정 화면이 나오는데, 사이트 캐시와 STSStrict Transport Security에 관한 설정입니다. 잘 설정하면 좀 더 안정적인 사이트 운영이 가능하겠으나, 무슨 말인지 잘 모르므로 건드리지 말고 넘어갑시다. (아마도 HSTSHTTP Strict Transport Security 옵션 (HTTPS 연결 강제) 을 의미하는 거겠죠) 화면의 영문 설명도 “무슨 말인지 이해 못 했다면 걱정하지 말고 기본값으로 진행하세요.”라고 되어있네요.

NakedSSL DNS 설정 가이드

이제 DNS 네임서버에 어떻게 설정하면 되는지를 안내하는데, 이것은 아래에 나온 IP를 root 도메인의 A 레코드에 적으라는 의미입니다. 그러니까 제 도메인 관리 페이지에서는 아래와 같이 설정되겠죠.

호스팅케이알에 네임서버 관리 화면

네임서버 관리 화면에 아까 본 IP (숫자) 를 이렇게 넣고, 리다이렉트 받을 www. 서브도메인에 홈서버의 DDNS (알파벳 주소) 를 적어 넣습니다.

도메인 관리 업체에 정보를 입력하는 사이에 NakedSSL도 준비가 완료되었을 것이므로, 다시 사이트로 돌아가서 DNS updated 버튼을 눌러봅시다. 그러면,

NakedSSL 등록 상태 확인 화면

쨘! 이렇게 등록이 준비되고 있는 화면이 나옵니다! 이제 기다리면 일정에 따라 모든 정보가 업데이트 및 생성되며 완료되는데, 기다리기 답답하다면 위의 Check DNS now 버튼을 눌러 진행을 독촉하도록 합시다. 그래도 SSL 인증에 시간이 꽤 걸리므로, 느긋하게 기다리는 편이 좋습니다.

NakedSSL 최종 등록 화면

이렇게 나오면 끝입니다. 이제 root 도메인으로 접속하여 정상적으로 리다이렉트 되는지 확인해 봅시다.

댓글남기기