서브도메인은 연결됐는데 /admin이 404였던 이유
blog, ad, nacho 서브도메인을 나누는 과정에서 Vercel 404와 앱 내부 라우팅 문제를 구분해 해결한 기록입니다.
Code notes
코드에서 확인한 구현 포인트
배포 기준 2026.05.04
관련 파일
apps/web/proxy.tsapps/web/app/admin/page.tsxapps/web/app/advertiser/page.tsxapps/web/app/blog/page.tsx구현 메모
Vercel 기본 도메인에서 /admin이 열리는지 먼저 확인해 앱 경로 문제와 도메인 문제를 분리했다.
host 기반 rewrite로 nacho, ad, blog 서브도메인을 각각 내부 경로에 연결했다.
서브도메인 추가 후에는 Vercel Domains 설정과 앱 라우팅을 같이 검증했다.
404가 어디서 난 것인지부터 나누기
배포 후 /admin에 들어갔을 때 404가 보이면 두 가지 가능성이 있다. Vercel이 해당 배포나 프로젝트를 못 찾는 404일 수도 있고, Next.js 앱 안에서 해당 경로가 없는 404일 수도 있다.
Tangly에서는 Root Directory 설정이 맞지 않았던 시점의 404와, 서브도메인 라우팅을 나누는 과정의 404가 서로 섞여 보였다. 그래서 먼저 Vercel 기본 도메인에서 /admin이 되는지 확인했다.
기준 도메인으로 좁히기
Vercel 기본 도메인에서 /admin이 동작하면 앱 자체에는 관리자 페이지가 있다는 뜻이다. 그렇다면 문제는 커스텀 도메인, 서브도메인, 또는 host 기반 rewrite 쪽으로 좁혀진다.
반대로 기본 도메인에서도 404라면 도메인을 만질 일이 아니다. 빌드된 앱에 실제 경로가 포함되었는지, Root Directory와 배포된 커밋이 맞는지부터 봐야 한다.
서브도메인을 역할별 입구로 쓰기
최종적으로 nacho.tangly.kr은 관리자, ad.tangly.kr은 광고주 포털, blog.tangly.kr은 블로그로 쓰는 방향을 잡았다. 같은 Next.js 앱 안에서 host를 보고 내부 경로로 보내는 방식이다.
이 구조는 프로젝트를 여러 개로 쪼개지 않고도 외부에 보이는 입구를 역할별로 분리할 수 있다. 다만 도메인을 추가할 때마다 Vercel 도메인 설정과 앱 라우팅을 같이 확인해야 한다.
Keep reading
다른 글 이어서 보기
Debugging
2026.05.05
6 min read
GitHub 푸시 후 Vercel 배포가 Blocked가 되었을 때
커밋은 올라갔지만 Vercel 자동 배포가 막혔던 상황에서, GitHub 작성자와 프로젝트 권한을 확인해 해결한 기록입니다.
Debugging
2026.05.03
8 min read
도메인은 연결됐는데 접속이 거부될 때
tangly.kr과 www 도메인을 Vercel에 붙이며 DNS, 네임서버, SSL 발급 대기 상태를 구분해 해결한 기록입니다.
Debugging
2026.05.03
7 min read
Supabase Auth 세션이 꼬일 때 로컬 세션을 정리하기
모바일 앱에서 refresh token 오류와 세션 누락 오류가 반복될 때, 인증 상태를 안전하게 복구한 기록입니다.