Vercel 배포 주소를 내 도메인으로 바꾸는 방법 — DNS 연결 가이드
Vercel 배포 주소를 자체 도메인으로 바꾸려면 프로젝트에 도메인을 추가한 뒤 실제 DNS 관리 화면에 Vercel이 안내한 A·CNAME 레코드를 입력하면 됩니다. 프로젝트를 다시 만들거나 도메인을 Vercel로 이전할 필요는 없으며, DNS 전파와 HTTPS 발급이 끝나면 연결됩니다.
핵심 요약
- Vercel 프로젝트의 Domains 설정에 사용할 루트 도메인과 www 주소를 먼저 추가합니다.
- Vercel이 보여주는 값을 도메인의 실제 DNS 관리 업체에서 A 또는 CNAME 레코드로 입력합니다.
- 연결 뒤 대표 주소, 환경변수·외부 서비스 허용 주소와 검색엔진 등록까지 새 도메인에 맞춥니다.
AI와 함께 만든 홈페이지를 Vercel에 배포하면 다음과 같은 주소가 생깁니다.
https://my-project.vercel.app
홈페이지는 잘 열리지만 고객에게는 내가 구매한 myservice.com 주소를 안내하고 싶을 수 있어요.
현재 배포 주소
https://my-project.vercel.app
고객에게 보여주고 싶은 주소
https://myservice.com
이때 Vercel 프로젝트를 새로 만들거나 홈페이지를 다시 배포하는 것은 아닙니다. 현재 프로젝트에 내 도메인을 새 주소로 추가하고, DNS에서 그 주소가 Vercel을 가리키게 연결하면 됩니다.
myservice.com
→ 지금 배포되어 있는 Vercel 프로젝트
기술적으로는 기존 .vercel.app 주소를 없애는 것이 아니라 자체 도메인을 하나 더 연결하는 방식입니다. 기존 Vercel 주소가 남아 있어도 고객에게는 myservice.com을 대표 주소로 안내할 수 있어요.
도메인을 산 곳과 홈페이지를 배포한 곳이 달라도 괜찮습니다. 가비아, 호스팅케이알, Cloudflare 등에서 구매한 도메인을 Vercel에 연결할 수 있으며, Vercel로 도메인을 이전할 필요도 없습니다.
이 글에서는 특정 구매처의 버튼 위치보다 어디서 도메인을 샀든 공통으로 적용되는 방법을 설명합니다. 아직 자체 도메인이 필요한지 결정하지 못했다면 Vercel 주소와 자체 도메인의 차이를 먼저 읽어보세요.
배포 주소를 바꾸려면 두 화면을 오가면 돼요
내 도메인으로 홈페이지를 열리게 하려면 두 개의 관리 화면을 사용합니다.
Vercel 프로젝트
→ 어떤 DNS 값을 넣어야 하는지 확인
도메인의 DNS 관리 화면
→ Vercel이 알려준 값을 실제로 입력
Vercel 화면에서 도메인 이름만 추가하고 끝내거나, 도메인 구매처에서 DNS 레코드만 추가하고 Vercel 프로젝트에는 도메인을 등록하지 않으면 연결이 완료되지 않습니다.
전체 순서는 다음과 같습니다.
1. Vercel 프로젝트에 도메인 추가
2. Vercel이 안내하는 DNS 값 확인
3. 실제 DNS 관리 화면에 A·CNAME 레코드 입력
4. Vercel에서 연결 완료 상태 확인
5. www 대표 주소와 리디렉션 설정
6. HTTPS와 홈페이지 설정 확인
연결 전에 용어부터 짧게 이해하세요
DNS 관리 화면에는 평소에 쓰지 않던 용어가 한꺼번에 나옵니다. 모두 외울 필요는 없고 이번 연결에 필요한 뜻만 알면 됩니다.
| 용어 | 이 글에서 알아둘 뜻 |
|---|---|
| 도메인 | 사람이 기억해 방문하는 홈페이지 주소. 예: myservice.com |
| 루트 도메인(apex) | 앞에 다른 이름이 붙지 않은 도메인. myservice.com 자체 |
| 서브도메인(하위 도메인) | 루트 도메인 앞에 이름을 붙인 주소. 예: www.myservice.com |
| DNS | 도메인이 어느 서버나 서비스로 갈지 알려주는 인터넷의 주소 안내 체계 |
| DNS 레코드 | DNS에 적는 한 줄의 연결 규칙 |
| A 레코드 | 도메인을 숫자로 된 IPv4 주소에 연결하는 규칙 |
| CNAME 레코드 | 도메인을 다른 도메인 형태의 목적지에 연결하는 규칙 |
| 네임서버 | 해당 도메인의 DNS 레코드를 실제로 보관하고 답해주는 서버 |
| TTL | DNS 응답을 다른 서버와 기기가 얼마 동안 기억할지 정하는 시간 |
| 리디렉션 | 한 주소로 들어온 방문자를 다른 대표 주소로 자동 이동시키는 것 |
| SSL 인증서·HTTPS | 브라우저와 홈페이지 사이의 통신을 암호화하고 도메인을 확인하는 장치 |
DNS 관리 화면에서 보이는 @는 이메일 주소가 아닙니다. 보통 myservice.com처럼 앞에 아무것도 붙지 않은 루트 도메인을 뜻합니다.
@ → myservice.com
www → www.myservice.com
blog → blog.myservice.com
A와 CNAME의 차이도 연결 대상만 보면 됩니다.
A 레코드
myservice.com → IP 주소
CNAME 레코드
www.myservice.com → Vercel이 알려준 도메인 형태의 목적지
둘 중 마음에 드는 방식을 고르는 것이 아닙니다. Vercel의 Domains 화면이 주소별로 필요한 레코드 유형과 값을 알려주면 그대로 입력합니다.
시작 전에 세 가지를 준비하세요
먼저 다음 조건을 확인합니다.
- 고객에게 공개할 최종 버전인 Vercel의 Production 배포가 정상적으로 열립니다.
- 사용할 도메인을 이미 등록했습니다.
- 해당 도메인의 DNS 레코드를 수정할 수 있습니다.
브라우저에서 현재 Vercel 주소를 직접 열어보세요.
https://my-project.vercel.app
이 주소에서 홈페이지가 열리지 않는다면 도메인보다 배포 문제를 먼저 해결해야 합니다. 도메인은 이미 작동하는 홈페이지로 들어오는 새 주소를 추가하는 것이지, 실패한 배포를 고쳐주지는 않아요.
1. Vercel 프로젝트에 도메인을 추가하세요
Vercel Dashboard에서 홈페이지가 배포된 프로젝트를 선택합니다.
Vercel Dashboard
→ Project
→ Settings
→ Domains
→ Add Domain
입력란에는 프로토콜과 경로를 빼고 도메인만 넣습니다.
올바름
myservice.com
잘못됨
https://myservice.com
myservice.com/about
루트 도메인인 myservice.com을 추가하면 Vercel이 www.myservice.com도 함께 추가할지 묻거나 권장할 수 있습니다. 두 주소를 모두 추가해야 사용자가 www를 붙여도, 붙이지 않아도 홈페이지에 들어올 수 있어요.
Vercel은 프로젝트의 Settings → Domains에서 도메인을 추가하면 루트 도메인에는 A 레코드, www 같은 하위 도메인에는 CNAME 레코드 등 필요한 설정을 안내합니다. Vercel 도메인 추가 안내 (새 탭에서 열림)
2. 대표 주소를 먼저 정하세요
다음 두 주소는 서로 다른 주소입니다.
myservice.com
www.myservice.com
둘 다 홈페이지를 열 수 있게 만들되, 실제로 계속 사용할 대표 주소는 하나로 정하는 것이 좋습니다.
이 글에서는 Vercel의 현재 권장 방식에 맞춰 www.myservice.com을 대표 주소로 사용하고, myservice.com으로 들어온 방문자를 www 주소로 보내는 예시를 사용합니다.
대표 주소
https://www.myservice.com
리디렉션
https://myservice.com
→ https://www.myservice.com
Vercel은 www처럼 CNAME을 사용할 수 있는 하위 도메인을 대표 주소로 두고 루트 도메인을 리디렉트하는 방식을 권장합니다. 다만 이미 myservice.com을 광고하거나 검색엔진에 등록했다면 반대로 www를 루트 도메인으로 보내도 됩니다. 중요한 것은 두 주소가 서로를 향해 리디렉트하지 않도록 한쪽만 대표로 정하는 것입니다. Vercel www 리디렉션 안내 (새 탭에서 열림)
3. Vercel이 보여주는 DNS 값을 확인하세요
도메인을 추가하면 Vercel이 현재 상태와 필요한 DNS 레코드를 표시합니다.
일반적으로 다음 형태입니다.
| 연결할 주소 | 레코드 유형 | 이름 또는 호스트 | 값 |
|---|---|---|---|
myservice.com |
A | @ 또는 빈칸 |
Vercel이 보여주는 IP |
www.myservice.com |
CNAME | www |
Vercel이 보여주는 대상값 |
| 소유 확인이 필요함 | TXT | Vercel 안내값 | Vercel 안내값 |
여기서 가장 중요한 원칙은 블로그나 오래된 영상에 나온 IP와 CNAME 값을 복사하지 않는 것입니다.
Vercel의 일반적인 예시 값이 있더라도 요금제와 프로젝트에 맞는 값이 따로 표시될 수 있습니다. 내 프로젝트의 Domains 화면에 나온 값을 그대로 사용하세요. Vercel 공식 연결 가이드도 domains inspect나 프로젝트 화면에서 정확한 레코드를 확인하도록 안내합니다. Vercel 자체 도메인 설정 가이드 (새 탭에서 열림)
DNS 입력값에는 다음 항목이 들어가지 않습니다.
https://
http://
/about
/blog
A 레코드에는 IP 주소를, CNAME에는 Vercel이 알려준 도메인 형태의 대상값을 넣습니다.
4. DNS를 실제로 관리하는 곳을 찾으세요
도메인을 산 곳과 DNS를 관리하는 곳은 같을 수도 있고 다를 수도 있습니다.
도메인을 가비아에서 구매
DNS도 가비아에서 관리
→ 가비아 DNS 관리 화면에서 수정
도메인을 가비아에서 구매
네임서버를 Cloudflare로 변경
→ Cloudflare DNS 화면에서 수정
도메인 구매처의 DNS 화면에서 값을 바꿨는데 Vercel이 계속 인식하지 못한다면, 현재 네임서버가 다른 서비스로 지정되어 있지 않은지 확인하세요. 현재 네임서버가 가리키는 DNS 서비스가 실제 수정 장소입니다.
단순히 홈페이지를 연결하는 목적이라면 네임서버 전체를 Vercel로 바꾸지 않고 기존 DNS 서비스에 A와 CNAME 레코드만 추가해도 됩니다.
네임서버를 바꾸면 기존 DNS 레코드도 새 서비스로 옮겨야 합니다. 업무용 이메일을 사용 중인데 MX 레코드를 옮기지 않으면 홈페이지는 열리면서 이메일만 받지 못할 수 있어요. 이미 이메일이나 다른 하위 도메인을 쓰고 있다면 A·CNAME 방식이 변경 범위를 확인하기 쉽습니다.
5. A와 CNAME 레코드를 입력하세요
도메인의 DNS 관리 화면에서 Vercel이 안내한 레코드를 추가합니다.
루트 도메인 예시는 다음과 같습니다.
유형 A
이름 @
값 Vercel 화면에 표시된 IP
TTL 기본값 또는 Auto
www 주소 예시는 다음과 같습니다.
유형 CNAME
이름 www
값 Vercel 화면에 표시된 CNAME 대상
TTL 기본값 또는 Auto
DNS 서비스에 따라 루트 도메인의 이름을 @, 빈칸 또는 도메인 자체로 표시합니다. 어떤 값을 써야 하는지는 해당 DNS 화면의 안내를 따르세요.
같은 이름에 예전 홈페이지를 가리키는 레코드가 남아 있으면 충돌할 수 있습니다.
확인할 충돌 예시
@에 남아 있는 기존 A·AAAA 레코드
www에 남아 있는 기존 A·CNAME 레코드
Vercel도 잘못된 설정이 표시될 때 프로젝트 화면에 나온 정확한 A·CNAME 값과 오래된 충돌 레코드를 확인하라고 안내합니다. Vercel 도메인 문제 해결 (새 탭에서 열림)
다만 이름이 다르거나 용도를 모르는 레코드를 한꺼번에 지우면 안 됩니다.
- MX 레코드는 이메일 수신에 사용될 수 있습니다.
- TXT 레코드는 이메일·검색엔진·서비스 소유 확인에 사용될 수 있습니다.
- 다른 하위 도메인의 A·CNAME은 별도 서비스에 연결되어 있을 수 있습니다.
수정 대상은 Vercel에 연결하려는 @와 www의 충돌 레코드로 좁히세요.
6. DNS 전파와 Vercel의 완료 상태를 기다리세요
레코드를 저장해도 전 세계 DNS 서버에 즉시 같은 값이 보이는 것은 아닙니다.
대부분 몇 분 안에 바뀌지만 기존 캐시와 DNS 서비스의 처리 시간에 따라 더 오래 걸릴 수 있습니다. Vercel은 DNS 레코드 변경이 완전히 반영되는 데 최대 24시간, 네임서버 변경은 최대 48시간이 걸릴 수 있다고 안내합니다.
Vercel의 프로젝트 Domains 화면을 새로고침해 상태를 확인하세요.
Invalid Configuration
→ 아직 필요한 DNS 값이 확인되지 않음
Valid Configuration 또는 정상 상태
→ Vercel이 DNS 연결을 확인함
설정 직후 Invalid Configuration이 보인다고 레코드를 반복해서 바꾸지 마세요. 먼저 Vercel 화면의 이름·유형·값과 DNS 화면의 입력값을 한 글자씩 비교한 뒤 기다립니다.
터미널을 사용할 수 있다면 현재 보이는 값을 확인할 수도 있습니다.
dig A myservice.com +short
dig CNAME www.myservice.com +short
결과가 Vercel이 안내한 값과 다르면 아직 전파되지 않았거나 다른 DNS 관리 화면을 수정했을 가능성이 있습니다.
7. HTTPS는 Vercel이 자동으로 발급해요
DNS 연결이 확인되면 Vercel은 도메인에 필요한 SSL 인증서를 자동으로 발급합니다.
따라서 일반적인 연결에서는 별도로 유료 SSL 인증서를 구매하거나 인증서 파일을 업로드할 필요가 없습니다. DNS가 먼저 Vercel을 정상적으로 가리켜야 인증서 검증도 완료됩니다. Vercel SSL 인증서 안내 (새 탭에서 열림)
브라우저에서 다음 주소를 직접 열어보세요.
https://www.myservice.com
https://myservice.com
확인할 것은 세 가지입니다.
- 대표 주소가 보안 경고 없이 열립니다.
- 다른 주소는 대표 주소로 한 번만 이동합니다.
- 실제 Production 홈페이지가 표시됩니다.
연결 직후 http 주소나 인증서 오류 화면만 반복해서 확인하면 브라우저 캐시 때문에 상태를 오해할 수 있습니다. Vercel에서 DNS와 인증서 상태가 정상인지 먼저 확인한 뒤 새 창에서도 테스트하세요.
8. 도메인 연결 뒤 코드와 환경변수도 바꾸세요
새 주소로 홈페이지가 열린다고 작업이 모두 끝난 것은 아닙니다. 코드가 계속 Vercel 주소를 사용하고 있을 수 있어요.
프로젝트에서 다음 항목을 검색합니다.
my-project.vercel.app
SITE_URL
APP_URL
NEXT_PUBLIC_SITE_URL
metadataBase
canonical
sitemap
robots
callback
redirect
특히 다음 값을 현재 대표 주소로 바꿔야 합니다.
- Next.js metadata의
metadataBase와 canonical 주소 sitemap.xml과robots.txt에서 사용하는 사이트 주소- 이메일에 넣는 주문·인증·접근 링크
- 로그인 서비스의 허용된 callback URL
- 결제 서비스의 성공·실패·웹훅 URL
- 외부 API의 허용 origin과 redirect URL
Vercel의 Production 환경변수에 기존 주소가 있다면 새 주소로 수정하고 다시 배포하세요.
NEXT_PUBLIC_SITE_URL=https://www.myservice.com
Vercel 환경변수 변경은 이미 만들어진 배포에 자동으로 적용되지 않고 다음 배포부터 반영됩니다. Vercel 환경변수 안내 (새 탭에서 열림)
코드에 도메인이 직접 적혀 있지 않고 상대경로를 사용한다면 바꿀 항목이 적을 수 있습니다.
권장
/api/orders
/login
확인이 필요한 형태
https://my-project.vercel.app/api/orders
수정 후 Production으로 다시 배포하고 새 도메인에서 주요 기능을 테스트하세요.
9. 대표 주소로 검색엔진 등록을 진행하세요
도메인과 HTTPS가 안정적으로 열리고 다음 항목이 새 주소를 사용한다면 검색 등록을 진행할 수 있습니다.
홈페이지
robots.txt
sitemap.xml
canonical
내부 링크
Google Search Console과 네이버 서치어드바이저에는 Vercel 주소와 자체 도메인을 섞지 말고 최종 대표 주소를 등록하세요.
구체적인 소유 확인, 사이트맵 제출과 수집 요청 순서는 만든 홈페이지를 구글·네이버 검색에 등록하는 방법에서 이어서 진행할 수 있습니다.
연결이 안 될 때는 증상부터 구분하세요
Vercel에 Invalid Configuration이 계속 표시돼요
다음을 순서대로 확인합니다.
- 도메인을 올바른 Vercel 프로젝트에 추가했나요?
- Vercel이 표시한 A·CNAME 값을 그대로 넣었나요?
- 실제 네임서버가 사용하는 DNS 화면을 수정했나요?
- 같은 이름의 기존 A·AAAA·CNAME 레코드가 충돌하나요?
- 저장 후 전파될 시간을 기다렸나요?
루트 주소만 열리고 www는 열리지 않아요
www.myservice.com을 Vercel 프로젝트에 추가했는지, DNS에 www CNAME 레코드를 넣었는지 확인합니다.
www와 루트 주소가 서로 계속 이동해요
두 주소가 서로를 대표 주소로 지정한 상태일 수 있습니다. 한쪽만 대표로 두고 다른 한쪽만 그 주소를 향해 리디렉트하세요.
도메인은 열리는데 예전 화면이나 404가 보여요
도메인을 다른 Vercel 프로젝트에 연결했거나, DNS가 예전 서버를 가리킬 수 있습니다. 현재 프로젝트의 Domains 설정과 DNS 값을 다시 비교하세요.
HTTPS 인증서가 발급되지 않아요
먼저 DNS가 Vercel을 정상적으로 가리키는지 확인합니다. 기존 CAA 레코드가 인증서 발급을 제한하는 경우도 있으므로 Vercel Domains 화면의 오류 안내를 확인하세요.
AI에게는 현재 상태를 읽기 전용으로 점검시켜 보세요
설정이 맞는지 확신하기 어렵다면 바로 레코드를 수정하게 하지 말고 진단부터 요청하세요.
Vercel에 연결한 도메인의 상태를 읽기 전용으로 점검해줘.
아직 DNS나 코드는 수정하지 마.
Vercel 프로젝트 주소:
https://my-project.vercel.app
연결할 도메인:
myservice.com
www.myservice.com
확인할 것:
- 루트 도메인의 A 레코드
- www의 CNAME 레코드
- 현재 권한 있는 네임서버
- 두 주소의 HTTP 응답과 리디렉션
- HTTPS 인증서 상태
- 코드와 환경변수에 남아 있는 vercel.app 주소
- sitemap.xml, robots.txt, canonical의 대표 도메인
각 항목을 통과 / 주의 / 실패 / 확인 불가로 표시하고
근거와 수정이 필요한 위치만 알려줘.
이 결과를 확인한 다음 필요한 레코드나 코드만 좁혀서 수정하는 편이 안전합니다.
이 상태가 되면 연결 완료예요
마지막으로 다음 항목을 확인합니다.
- Vercel Domains 화면이 정상 상태입니다.
- 대표 도메인이 HTTPS로 열립니다.
www와 루트 도메인 중 하나가 다른 하나로 이동합니다.- 리디렉션이 반복되지 않습니다.
- Vercel의 Production 홈페이지가 표시됩니다.
- 환경변수와 코드의 운영 주소가 새 도메인으로 바뀌었습니다.
- 로그인·결제·이메일 링크처럼 도메인을 사용하는 기능이 작동합니다.
robots.txt,sitemap.xml과 canonical이 새 대표 주소를 사용합니다.
도메인 구매
→ Vercel 프로젝트에 추가
→ DNS A·CNAME 연결
→ 대표 주소 리디렉션
→ HTTPS 확인
→ 코드·환경변수 수정 후 재배포
→ 검색엔진 등록
이 순서까지 마치면 Vercel의 기본 주소로 확인하던 홈페이지를 고객에게 계속 안내할 자체 도메인으로 운영할 수 있습니다.
인스타그램 @ddukddak.build · 페이스북 뚝딱








