Infrastructure/2026.05.02/8 min read

Vercel과 서브도메인으로 서비스 입구 나누기

tangly.kr 아래에 관리자, 광고주, 블로그를 각각 다른 서브도메인으로 분리한 배포 기록입니다.

VercelDNSSubdomain

Code notes

코드에서 확인한 구현 포인트

배포 기준 2026.05.02

관련 파일

apps/web/proxy.tsVercel DomainsWHOIS DNS

구현 메모

proxy.ts에서 host를 확인해 nacho, ad, blog 서브도메인을 각각 내부 경로로 rewrite한다.

nacho.tangly.kr은 /admin, ad.tangly.kr은 /advertiser, blog.tangly.kr은 /blog로 들어가게 했다.

Vercel 프로젝트의 Root Directory와 Framework 설정을 맞춘 뒤 각 서브도메인을 도메인 설정에 추가했다.

한 도메인 안에서 역할을 나누기

처음에는 모든 화면이 같은 도메인의 경로로 접근 가능했다. 하지만 관리자, 광고주, 블로그는 방문 목적이 완전히 다르다.

그래서 운영자는 nacho.tangly.kr, 광고주는 ad.tangly.kr, 블로그 독자는 blog.tangly.kr로 들어오도록 입구를 나누었다. 같은 앱 안에 있어도 사용자는 다른 제품처럼 느낄 수 있다.

DNS와 배포에서 배운 것

도메인 연결은 생각보다 작은 단계가 많았다. 루트 도메인, www, 서브도메인, SSL 인증서, Vercel 프로젝트 설정이 모두 맞아야 한다.

특히 배포 설정에서 앱의 실제 위치를 정확히 잡는 것이 중요했다. 모노레포에서는 프로젝트 루트와 실제 Next.js 앱 폴더가 다를 수 있기 때문이다.

보안과 편의 사이

관리자 주소를 일반적인 admin 대신 내부에서만 알아보기 쉬운 이름으로 정한 것도 작은 판단이었다. 주소를 숨기는 것만으로 보안이 완성되는 것은 아니지만, 불필요한 노출을 줄이는 데는 도움이 된다.

진짜 보안은 인증, 권한, 환경 변수 관리에서 챙겨야 한다. 이 글에서는 민감한 설정값이나 접근 방식은 남기지 않는다.