Vite로 만든 포트폴리오를 가비아에서 구매한 한글 도메인에 연결하고, GitHub Actions로 자동 배포 환경을 구축하는 과정에서 겪은 시행착오와 해결 방법을 공유합니다.
1. 가비아(Gabia) DNS 설정 (A 레코드 & CNAME)
가비아 DNS 관리 툴에서 아래와 같이 총 5개의 레코드를 등록해야 합니다.
- A 레코드 (@): 루트 도메인(박성진.com)을 GitHub 서버로 연결합니다. GitHub에서 제공하는 4개의 IP를 모두 등록하는 것이 안정적입니다.
- 185.199.108.153
- 185.199.109.153
- 185.199.110.153
- 185.199.111.153
- CNAME (www): www가 붙은 주소로 접속해도 잘 연결되도록 설정합니다.
- 호스트: www
- 값/위치: 내아이디.github.io. (마지막에 마침표 필수)

Tip: 한글 도메인은 내부적으로 xn--... 형태의 퓨니코드(Punycode)로 변환됩니다. 깃허브 설정창에 이 이름이 떠도 당황하지 마세요!
2. GitHub Pages 커스텀 도메인 등록
GitHub 저장소의 Settings > Pages 메뉴로 이동합니다.
- Custom domain 칸에 박성진.com을 입력하고 Save를 누릅니다.
- DNS check successful이라는 초록색 메시지가 뜨면 성공입니다.
- Enforce HTTPS를 반드시 체크하여 보안 연결을 적용합니다.
3. 트러블슈팅: 접속 시 "흰 화면"만 나올 때
도메인 연결 후 사이트가 하얗게 나온다면 브라우저 콘솔(F12)을 확인해 보세요. 404 Not Found 에러가 뜬다면 파일 경로 설정 문제입니다.
- 원인: 기존의 아이디.github.io/저장소명/ 구조에서 루트 주소인 / 구조로 바뀌었기 때문입니다.
- 해결: vite.config.ts 파일에서 base 설정을 수정합니다.
TypeScript
export default defineConfig({ base: '/', // 기존 '/저장소명/'에서 '/'로 변경 });
4. GitHub Actions로 자동 배포 구축 (중첩 폴더 구조)
매번 npm run deploy를 치는 수고를 덜기 위해 GitHub Actions를 설정합니다. 특히 프로젝트가 하위 폴더에 있는 중첩 구조라면 working-directory 설정이 핵심입니다.
- 최상위 루트에 .github/workflows/deploy.yml 파일을 생성합니다.
- 중요 포인트:
- working-directory: 실제 프로젝트 폴더명을 지정합니다.
- path: 빌드된 파일이 있는 dist 폴더의 경로를 정확히 적어줍니다.
- environment: 배포 환경을 github-pages로 선언하여 권한 오류를 방지합니다.
5. 도메인 설정 유지하기 (CNAME 파일)
배포 시 커스텀 도메인 설정이 자꾸 초기화된다면 프로젝트의 public 폴더 안에 **CNAME**이라는 파일을 만드세요.
- 파일명: CNAME (확장자 없음)
- 내용: 박성진.com
이렇게 하면 빌드 결과물에 항상 도메인 정보가 포함되어 설정이 유지됩니다.
'Project' 카테고리의 다른 글
| [GitHub Pages] 리액트(Vite) 프로젝트 GitHub Pages 기본 도메인 배포하기 (0) | 2026.01.19 |
|---|---|
| [GitHub Pages] 리액트 사이트 GitHub Pages 배포, 404 에러 해결까지 완벽 가이드 (0) | 2026.01.19 |
| [프롬프트] 포트폴리오의 한 끝 차이: AI와 함께 엔지니어링 디테일(수치, 터미널, API) 한 스푼 더하기 (0) | 2026.01.14 |
| [프롬프트] GitHub Copilot과 함께하는 데이터 중심 포트폴리오 설계: Vite + Tailwind v4 구축기 (0) | 2026.01.14 |
| [프로젝트] React 를 이용한 프로젝트 만들기 (4) | 2025.08.18 |