← 블로그 목록
도메인DNSHTTPS배포인증서

도메인 사서 HTTPS까지 연결하기: DNS 개념부터 막히는 지점까지

A 레코드와 CNAME, 네임서버 구분부터 www 통일, 인증서 발급이 안 될 때 확인할 CAA 레코드와 MX 레코드 실수까지 정리했습니다.

Vibeollio 팀-

주소가 길고 이상한 상태에서 벗어나기

무료로 배포하면 내프로젝트-a1b2c3.어쩌구.app 같은 주소가 나옵니다. 동작에는 문제가 없지만 공유하기 민망하고, 나중에 배포처를 옮기면 주소가 또 바뀝니다.

도메인을 사서 연결하면 이 둘이 해결됩니다. 과정은 생각보다 짧은데, 개념 몇 개를 모르면 어디서 막힌 건지 판단이 안 됩니다.

전체 흐름

  1. 도메인을 산다
  2. DNS에 "이 주소로 오면 저기로 보내라"를 적는다
  3. 배포 플랫폼이 인증서를 발급한다
  4. HTTPS로 열린다

2번과 3번이 실제로 손이 가는 부분입니다.

1단계: 도메인 구입

등록대행사에서 삽니다. 국내외 여러 곳이 있고 어디서 사도 기능은 같습니다. 보통 연 단위 결제입니다.

살 때 확인할 것 두 가지입니다.

갱신 가격. 첫 해만 싸고 갱신부터 크게 오르는 경우가 흔합니다. 표시된 가격이 첫 해 가격인지 확인하세요.

개인정보 보호. 도메인 소유자 정보는 공개 조회가 가능합니다. 이름·주소·전화번호가 그대로 노출될 수 있어서, 대부분의 대행사가 대신 표시해주는 기능을 제공합니다. 무료인 곳도 있고 유료인 곳도 있으니 구입 전에 확인하는 편이 좋습니다.

.com은 무난하고, .dev.app 같은 것도 개인 프로젝트에 잘 어울립니다. 다만 .dev.appHTTPS가 강제되는 도메인이라 인증서 없이는 접속 자체가 안 됩니다. 요즘은 자동 발급이 기본이라 문제될 일은 거의 없습니다.

2단계: DNS 연결

여기서 나오는 용어가 셋입니다.

  • A 레코드: 도메인을 IP 주소로 연결합니다. 내도메인.com → 1.2.3.4
  • CNAME 레코드: 도메인을 다른 도메인으로 연결합니다. www.내도메인.com → 내프로젝트.어쩌구.app
  • 네임서버: DNS 기록 자체를 어디서 관리할지 정합니다

배포 플랫폼이 어느 방식을 요구하는지 알려줍니다. 대개 루트 도메인은 A 레코드, www는 CNAME입니다.

여기서 자주 막히는 지점이 있습니다. 네임서버를 다른 곳으로 바꿨는데 기록은 예전 곳에 그대로 둔 경우입니다. 이러면 아무리 고쳐도 반영되지 않습니다. 지금 어느 곳이 실제로 응답하고 있는지부터 확인하세요.

dig +short NS 내도메인.com      # 어느 네임서버가 담당하는지
dig +short A 내도메인.com       # 실제로 어떤 IP 로 답하는지

3단계: www를 쓸지 말지 정하기

내도메인.comwww.내도메인.com은 서로 다른 주소입니다. 둘 다 열리게 해두되 하나를 대표로 정하고 나머지는 그쪽으로 넘겨야 합니다.

둘 다 같은 내용을 따로 서비스하면 검색엔진이 중복으로 인식하고, 로그인 쿠키가 한쪽에서만 동작하는 문제도 생깁니다.

대부분의 배포 플랫폼이 설정에서 대표 주소를 고르면 나머지를 자동으로 넘겨줍니다.

4단계: HTTPS

요즘은 대부분 자동입니다. 도메인이 연결되면 플랫폼이 무료 인증서를 발급하고 갱신까지 알아서 합니다. 별도로 살 필요가 없습니다.

발급이 안 되고 몇십 분씩 걸린다면 대개 두 가지 중 하나입니다.

DNS가 아직 반영되지 않았다. 인증서 발급은 도메인 소유 확인을 거치는데, DNS가 안 잡히면 확인이 안 됩니다. 기존 기록의 TTL만큼 기다려야 하는 경우가 있습니다.

CAA 레코드가 막고 있다. 어느 기관이 이 도메인의 인증서를 발급할 수 있는지 제한하는 기록입니다. 예전에 설정해뒀다면 지금 쓰는 발급 기관이 목록에 없을 수 있습니다.

dig +short CAA 내도메인.com

결과가 있는데 발급이 안 된다면 이걸 의심하세요.

메일도 쓸 거라면

문의@내도메인.com 같은 주소를 쓰려면 MX 레코드가 추가로 필요합니다. 웹사이트 연결(A·CNAME)과는 별개 설정입니다.

주의할 점이 하나 있습니다. 도메인 연결 안내를 따라 하다가 기존 기록을 전부 지우고 새로 넣는 경우가 있는데, 이때 MX 레코드가 같이 날아가면 메일이 조용히 안 오기 시작합니다. 웹은 멀쩡하니 한참 뒤에 알게 됩니다. 기록을 손대기 전에 현재 상태를 한 번 저장해두세요.

반영까지 얼마나 걸리나요?

기존에 설정한 적 없는 새 도메인이라면 대체로 빠릅니다. 반면 이미 쓰던 도메인의 기록을 바꾸는 경우에는 이전 값이 캐시에 남아 있어 시간이 걸립니다. 그 기간은 기존 기록의 TTL 값에 좌우됩니다. 바꿀 계획이 있다면 미리 TTL을 낮춰두면 전환이 빨라집니다. 그리고 내 브라우저에서 안 바뀐다고 실패한 게 아닙니다. dig로 확인하는 편이 정확합니다.

배포처를 옮기면 도메인은 어떻게 되나요?

도메인은 그대로 두고 DNS 기록만 새 배포처로 바꾸면 됩니다. 도메인을 다시 살 필요가 없고, 이게 도메인을 연결해두는 큰 이유 중 하나입니다. 다만 전환하는 동안 잠깐 접속이 끊길 수 있으니, 새 배포처를 먼저 띄워 동작을 확인한 뒤 기록을 바꾸는 순서가 안전합니다.

무료 도메인을 써도 되나요?

동작은 합니다. 다만 무료로 제공되는 일부 도메인은 스팸 발송에 많이 쓰인 이력 때문에 메일 도착률이 나쁘거나, 일부 서비스에서 차단되는 경우가 있습니다. 그리고 정책 변경으로 회수되는 사례도 있습니다. 오래 쓸 프로젝트라면 유료 도메인이 안전합니다.

연결하고 나면 옮기기 쉬워진다

도메인을 붙여두면 배포처를 바꾸든 구조를 바꾸든 바깥에 알린 주소는 그대로입니다. 링크를 공유하기 전에 먼저 해두면 나중에 주소를 다시 알릴 일이 없습니다.

도메인까지 연결했다면 Vibeollio에 프로젝트 등록해서 공개해보세요. 짧고 기억하기 쉬운 주소는 그 자체로 한 번 더 눌러보게 만듭니다.