커스텀 도메인 연결
도메인을 구매한 뒤 DNS 레코드를 Vercel에 연결하고 검증·SSL 인증서·HTTPS·서브도메인 동작을 확인합니다.
웹사이트를 배포한 뒤에는 기억하기 쉽고 브랜드를 알릴 수 있는 커스텀 도메인(custom domain)을 연결하는 것이 중요합니다. Vercel 같은 배포 플랫폼은 Next.js 애플리케이션에 커스텀 도메인을 빠르게 연결하는 기능을 제공합니다. 이 글에서는 커스텀 도메인이 왜 필요한지, 도메인 구매와 네임 서버 설정, Vercel에 연결하는 절차, 그리고 SSL/TLS 인증서의 자동 발급과 HTTPS 적용까지 차례로 다룹니다.
커스텀 도메인의 중요성
yourproject.vercel.app 같은 기본 도메인보다 yourcompany.com 같은 커스텀 도메인이 훨씬 전문적이고 기억하기 쉬워, 사용자에게 신뢰감을 주고 브랜드를 널리 알립니다. 호스팅 업체가 바뀌어도 자신의 도메인을 그대로 유지할 수 있지만, 도메인을 샀다고 검색 순위가 높아지지는 않습니다. 짧고 직관적인 도메인 이름은 사용자가 웹사이트를 쉽게 기억해 직접 입력해 방문하게 돕고, [email protected] 같은 전문적인 이메일 주소를 만드는 데도 쓸 수 있습니다.
도메인 구매 및 네임 서버 설정
커스텀 도메인을 연결하려면 먼저 도메인 등록기관(domain registrar)에서 원하는 도메인 이름을 사야 합니다. 도메인을 사면 그 이름을 쓸 권리가 생길 뿐, 이름이 어느 서버를 가리킬지는 아직 정해지지 않습니다. 그 연결을 맡는 것이 DNS이고, 등록기관에는 이 도메인의 DNS 레코드를 어느 네임 서버가 관리하는지도 함께 기록됩니다. 그래서 이 절에서는 도메인을 사는 단계와, 그 도메인의 레코드를 어디에서 관리할지 고르는 단계를 나누어 봅니다.
도메인 등록기관 선택 및 도메인 구매
대표적인 도메인 등록기관으로는 국내의 가비아, 후이즈, 카페24 도메인, 해외의 Cloudflare Registrar, Amazon Route 53, Namecheap, GoDaddy 등이 있습니다. 원하는 도메인 이름을 검색해 사며, .com, .co.kr, .net, .org 같은 여러 최상위 도메인(TLD) 가운데 고를 수 있습니다.
네임 서버(Name Server) 설정
도메인의 권한 네임 서버(authoritative name server)는 IP 주소나 메일 서버 같은 그 도메인의 DNS 레코드를 알려 줍니다. A, CNAME, MX, TXT 같은 레코드가 각각 무엇을 담고 어떤 제약이 있는지는 DNS 레코드와 실습에서 자세히 다룹니다. 기존 DNS 업체를 그대로 쓰는 방법과 Vercel DNS로 위임하는 방법 가운데 운영 방식에 맞게 고릅니다.
Next · Domain configuration boundaries
DNS 위임·웹 연결·TLS
기존 DNS를 유지하는 방법과 Vercel DNS로 위임하는 방법은 관리 위치가 다릅니다. 웹용 레코드 연결, DNS 관리 이전, TLS 인증서 발급은 각각 확인해야 합니다.
| 선택·설정 | 변경되는 것 | 확인할 사항 |
|---|---|---|
| 기존 DNS 유지 | 현재 DNS 업체에서 웹용 레코드 수정 | 프로젝트가 안내하는 A·CNAME 값 |
| Vercel DNS로 위임 | 등록 업체의 NS를 바꿔 권한 DNS 변경 | 기존 MX·TXT 등 필요한 레코드 먼저 준비 |
| TLS 인증서 발급 | 해당 도메인에 HTTPS 제공 | 도메인 제어·DNS·CAA 설정 확인 |
- 기존 DNS 유지
- 변경되는 것
- 현재 DNS 업체에서 웹용 레코드 수정
- 확인할 사항
- 프로젝트가 안내하는 A·CNAME 값
- Vercel DNS로 위임
- 변경되는 것
- 등록 업체의 NS를 바꿔 권한 DNS 변경
- 확인할 사항
- 기존 MX·TXT 등 필요한 레코드 먼저 준비
- TLS 인증서 발급
- 변경되는 것
- 해당 도메인에 HTTPS 제공
- 확인할 사항
- 도메인 제어·DNS·CAA 설정 확인
네임서버를 바꿔도 메일이나 웹 서버 자체가 이전되지는 않습니다. DNS 캐시 갱신 시간은 각 레코드의 TTL과 제공 업체에 따라 달라집니다.
위 표는 도메인을 연결할 때 무엇이 바뀌고 무엇을 확인해야 하는지 정리합니다. 기존 DNS를 유지하면 지금의 DNS 업체에서 웹용 레코드만 고치며, 프로젝트가 안내하는 A와 CNAME 값을 확인합니다. Vercel DNS로 위임하면 등록기관의 NS를 바꿔 권한 DNS 자체가 바뀌므로, 기존의 MX와 TXT처럼 필요한 레코드를 먼저 준비해야 합니다. TLS 인증서 발급은 그 도메인에 HTTPS를 제공하는 일로, 도메인 제어와 DNS, CAA 설정을 확인합니다. 표의 설명처럼 네임 서버를 바꿔도 메일이나 웹 서버 자체가 옮겨지지는 않으며, DNS 캐시가 갱신되는 시간은 각 레코드의 TTL과 업체에 따라 달라집니다.
예를 들어 acme-cloud.dev의 메일은 기존 업체가 처리하고 웹만 Vercel로 옮긴다고 합시다. 기존 DNS 업체를 유지한다면 Vercel이 안내한 웹용 A, CNAME, 검증 레코드를 그곳에 추가하고, 기존 메일용 MX와 관련 TXT 레코드는 그대로 둡니다. 웹 호스팅을 옮기려고 권한 네임 서버까지 반드시 바꿔야 하는 것은 아닙니다.
Vercel DNS로 위임하기로 했다면 지금의 레코드를 먼저 목록으로 만들어 비교합니다. 웹 주소뿐 아니라 메일과 도메인 검증에 필요한 레코드도 새 DNS에 준비한 뒤 네임 서버를 바꾸고, 웹, 메일, 인증서의 상태를 각각 확인합니다.
Vercel DNS로 위임하는 방법
다음은 Vercel에서 DNS 레코드를 관리하기로 고른 경우의 절차입니다. 도메인 등록기관의 설정 페이지에서 도메인의 네임 서버를 Vercel이 제공하는 ns1.vercel-dns.com과 ns2.vercel-dns.com으로 바꿉니다.
먼저 도메인을 산 등록기관의 웹사이트에 로그인해 My Domains나 Domain Management 같은 메뉴로 이동하고, 설정할 도메인을 고릅니다. Nameservers나 DNS 설정 메뉴를 찾아, Vercel 쪽에 기존 서비스에 필요한 레코드가 준비되었는지 확인한 뒤 안내된 네임 서버로 바꾸고 저장합니다. 그다음 기존 DNS 응답의 캐시가 만료될 때까지 기다리며 Vercel의 검증 상태를 확인합니다. 흔히 24시간에서 48시간이라고 안내하지만, 이는 일반적인 예상 범위일 뿐 모든 환경에서 완료되는 상한은 아닙니다.
Vercel에서 커스텀 도메인 연결하기
고른 DNS 관리 방식에 따라 Vercel 대시보드에서 도메인을 프로젝트에 연결하고 안내된 설정을 적용합니다. vercel.com에 로그인해 커스텀 도메인을 연결할 Next.js 프로젝트를 고르고, Settings 탭의 왼쪽 사이드바에서 Domains를 고릅니다. 연결할 커스텀 도메인 이름(예: acme-cloud.dev)을 입력하고 Add 버튼을 누릅니다.
Vercel은 입력한 도메인의 DNS 레코드를 확인해 설정이 올바른지 검증합니다. Vercel DNS를 쓰면 Vercel이 필요한 레코드를 관리하고, 기존 DNS 업체를 유지하면 화면에 안내된 A, CNAME 레코드 등을 그 업체에 입력하며, 이 방식에서도 인증서는 자동으로 관리할 수 있습니다. 도메인이 다른 Vercel 팀에 연결되어 있다면 별도의 TXT 소유권 검증을 요구할 수 있습니다. 모든 설정이 확인되어 도메인 상태가 Valid로 표시되면, 커스텀 도메인으로 Next.js 애플리케이션에 접근할 수 있습니다.
SSL/TLS 인증서 자동 발급 및 HTTPS 적용
Vercel의 큰 장점 가운데 하나는 커스텀 도메인을 연결하면 SSL/TLS 인증서를 자동으로 발급하고 관리해 준다는 점입니다. 도메인 제어와 DNS 설정이 확인되면 Vercel이 인증서의 발급과 갱신을 맡으며, DNS나 CAA 설정에 오류가 있으면 발급이나 갱신이 실패할 수 있습니다.
HTTPS는 웹사이트와 사용자 브라우저 사이의 통신을 암호화해 데이터가 가로채이거나 바뀌는 것을 막으며, 사용자의 개인 정보 보호와 보안에 꼭 필요합니다. Google도 HTTPS를 검색 순위의 가벼운 신호로 쓴다고 밝혔습니다. 브라우저의 사이트 정보에서 HTTPS와 인증서 상태를 확인할 수 있지만, HTTPS는 전송 경로를 보호할 뿐 사이트의 콘텐츠나 운영자를 믿을 수 있다고 보증하지는 않습니다.
서브도메인 연결
메인 도메인 외에 blog.acme-cloud.dev나 app.acme-cloud.dev 같은 서브도메인도 연결할 수 있습니다. Vercel 네임 서버를 쓴다면 Domains 설정에서 blog.acme-cloud.dev처럼 서브도메인을 추가하면 Vercel이 필요한 DNS 레코드를 자동으로 만들어 연결합니다. 외부 DNS를 쓴다면 Vercel 대시보드의 Domains 화면이나 vercel domains inspect가 지금 프로젝트에 안내하는 CNAME, A, 검증 레코드를 외부 DNS 업체에 그대로 입력합니다. 값은 도메인과 프로젝트 설정에 따라 달라질 수 있으므로, 예전의 공통 예시 값을 고정해서 쓰지 않습니다.
도메인 연결이 바로 끝나지 않을 때는 설정 화면을 다시 누르기보다, 입력한 도메인, 고른 DNS 방식, 레코드 값, Vercel의 검증 상태, 인증서 발급 상태를 차례로 확인하는 편이 좋습니다. 특히 루트 도메인은 A 레코드, 서브도메인은 CNAME, 인증서 발급은 CAA 레코드의 영향을 받을 수 있으므로, 실패 지점을 좁혀 가며 점검합니다.
정리
- 커스텀 도메인은 등록기관에서 산 뒤, 기존 DNS 업체를 유지하거나 Vercel DNS로 위임하는 방식 가운데 하나로 연결합니다.
- 기존 DNS를 유지하면 웹용 A, CNAME, 검증 레코드만 추가하고, 위임하면 MX와 TXT 같은 기존 레코드를 새 DNS에 먼저 준비합니다.
- Vercel의 Domains 설정에 도메인을 추가하고 상태가 Valid가 되면 연결이 끝나며, 다른 팀에 연결된 도메인은 TXT 소유권 검증이 필요할 수 있습니다.
- SSL/TLS 인증서는 Vercel이 자동으로 발급하고 갱신하지만, DNS나 CAA 설정 오류가 있으면 실패할 수 있습니다.
- HTTPS는 전송을 보호할 뿐이며, 앱의 로그인과 권한 검사는 따로 구현해야 합니다.
연습 문제
1. 실패 지점을 구별하기
네임 서버를 Vercel로 옮긴 뒤 웹은 열리고 HTTPS도 유효하지만, 새 메일이 도착하지 않습니다. 기존 MX를 옮기지 않았다면 무엇을 먼저 확인해야 할까요? 이 HTTPS 상태만으로 로그인한 사용자의 관리 기능 권한도 검증되었다고 할 수 있을까요?
해설 보기
지금의 권한 DNS인 Vercel DNS에 메일 업체가 요구하는 MX와 관련 레코드가 있는지 먼저 확인합니다. 옛 DNS 화면에 남아 있는 레코드는 위임을 바꾼 뒤의 응답을 보장하지 않습니다. 기존 메일 업체의 안내값을 새 DNS에 복원하고, 캐시가 만료되는 시간을 고려해 다시 확인합니다.
유효한 HTTPS는 그 연결의 인증서와 전송 보호를 확인한 상태일 뿐입니다. 앱의 로그인과 관리 기능의 인가는 별도의 구현과 요청 검사가 필요합니다. 메일 실패를 앱의 권한 오류로 처리하거나, 인증서가 유효하다는 이유로 관리 기능을 허용하지 않습니다.
2. 루트 도메인과 www
acme-cloud.dev만 Vercel에 추가했는데, 사용자가 www.acme-cloud.dev로 접속하면 사이트가 열리지 않습니다. 무엇을 추가해야 할까요?
해설 보기
www.acme-cloud.dev는 루트 도메인과 다른 별도의 서브도메인이므로, Vercel의 Domains 설정에 따로 추가하고 안내된 CNAME 레코드를 DNS에 넣어야 합니다. 두 주소 가운데 하나를 대표 주소로 정하고, 다른 주소는 그 주소로 리다이렉트하도록 설정하면 같은 콘텐츠가 두 주소로 나뉘지 않습니다.
3. 인증서 발급이 실패할 때
외부 DNS를 쓰는 도메인을 Vercel에 연결했는데, 레코드는 맞게 넣었는데도 인증서 발급이 계속 실패합니다. DNS에 CAA 레코드가 있고, 그 값은 다른 인증 기관만 허용하고 있습니다. 무엇이 원인일 수 있을까요?
해설 보기
CAA 레코드는 그 도메인에 인증서를 발급할 수 있는 인증 기관을 제한합니다. 다른 인증 기관만 허용하고 있다면 Vercel이 쓰는 인증 기관이 인증서를 발급할 수 없으므로 발급이 실패합니다. Vercel이 안내하는 인증 기관을 CAA 레코드에 추가하거나, 필요 없는 CAA 레코드를 정리한 뒤 다시 발급 상태를 확인합니다.
Vercel의 도메인 연결 절차는 Vercel 도메인 문서에서 확인할 수 있습니다.
다음 글 외부 호스팅 배포에서는 Vercel 대신 Netlify, AWS, Heroku 같은 다른 호스팅 플랫폼이나 직접 운영하는 Node.js 서버, 정적 호스팅에 Next.js를 배포하는 방법을 알아봅니다.