GitHub Pages에 custom domain 연결하기 (feat. GoDaddy)

Stacy Kim
6 min readJun 30, 2020

--

어느 날 갑자기 포트폴리오 사이트가 접속이 안 됐다.
방문자가 없다고 깃헙이 막아버린건가! 하는 한심한 생각을 하며 딱히 조치를 취하기도 귀찮아서 한 달 쯤 방치했는데 오늘 드디어 해결 방법을 알아냈다.

GitHub Pages에 커스텀 도메인 연결을 난생 처음 한다는 마음가짐으로 설명서를 찾아 읽었다. 언제 또 사이트가 먹통이 될지 알 수 없으니 만일을 대비해 대강이라도 기록해두고자 한다.

GitHub Pages에 돈 주고 구매한 나만의 도메인을 연결하는 방법은 매우 간단하다.

Step 1. GoDaddy 같은 사이트에서 도메인을 산다.

Step 2. GitHub Pages에 커스텀 도메인을 연결한다.

Step 3. 도메인 구매처에서 DNS 설정을 세팅한다.

Step 4. 연결한 도메인이 잘 작동하는 지 확인한다.

1번은 해두었으니 2번 부터 다시 하면 된다.

GitHub Pages 설정하기

먼저, 레포지토리의 Setting > Options 하단의 GitHub Pages 섹션으로 간다.

기본으로 <username>.github.io/<repogitory name>/ 의 URL에 publish 되어있다. 이제 Custom domain 칸에 구매한 도메인의 URL을 입력한다.

도메인을 입력하고 Save 하면 상단 얼럿에 도메인 주소가 바뀌어있다.
하지만 아직 제대로 연결된 것은 아니다. 도메인의 DNS 설정을 해주어야 한다.

새로고침 후 이렇게 뜨면 성공!

만약 DNS 설정이 먼저 이루어져서 커스텀 도메인이 잘 연결되었다면 위와 같이 초록 얼럿 형태로 바뀌어 있을 것이다. 아직 체크표시가 생기지 않았거나 다른 내용이 주저리주저리 써있는 노란 얼럿으로 바뀌었다면 뭔가 설정할 것이 더 남았다는 뜻이다.

Save한 직후에는 master 브랜치에 CNAME 파일이 생성되었다는 커밋을 확인할 수 있다.

섹션 하단의 Enforce HTTPS는 정확히 어떤 옵션인지 모르지만 켜두는 것이 보안에 좋을 것 같아서 켜두었다.

DNS 설정하기

이제, 도메인을 구매한 사이트의 DNS 설정 페이지에서 여러가지를 입력해줘야한다.
나는 GoDaddy에서 구매했으니 그 기준으로 작성했다.

My Domains > Domain Settings > DNS Management 페이지에서 하단 Add 버튼으로 아래 2 가지 설정을 추가해준다.

1. CNAME 설정

나의 GitHub Pages URL를 입력한다. 뒤의 레포지토리 이름을 포함한 URL 까지 적지 않고 <username>.github.io 까지만 적는다. TTL(Time to live) 값은 1 Hour로 설정했다.

  • type = CNAME
  • host = www
  • points to (value) = <username>.github.io
  • ttl = 1 hour

2. IP 주소 설정

나의 커스텀 도메인은 앞에 www 가 없는 APEX 도메인 형태라고 한다.
이렇게 부른다는건 이 글을 참조하다 오늘 처음 알았다.
APEX 도메인은 A 타입으로 총 4개의 IP 주소를 추가해주어야 한다.

  • type = A
  • host = @
  • points to (value) = IP 주소
  • ttl = 1 hour
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
CNAME 과 4가지 IP 주소가 잘 추가된 모습

터미널로 IP 주소 확인하기

위의 스텝까지 진행해도 사이트가 잘 뜨겠지만, 그 전에 IP 주소가 잘 입력되었는지 확인하는 방법도 있다.

터미널을 열고 dig커스텀 도메인 주소를 입력하면 ANSWER 섹션에 입력한 IP 주소 그대로 응답이 온 것을 확인할 수 있다.

잘 연결 되었는지 확인 하기

모든 세팅이 잘 되었다면 다시 GitHub Pages 섹션을 확인한다. 초록색 얼럿에 체크 표시까지 붙어있다면 성공!

어떤 블로거는 DNS 설정을 하고나면 하루 뒤에나 반영이 된다고 하거나, Custom domain을 지웠다가 다시 입력 후 Save 해야 한다고(=CNAME 재생성) 했으나 내 경우에는 아무 문제 없이 바로 반영된 것을 확인할 수 있었다.

커스텀 도메인이 정상적으로 연결된 상태의 모습

마무리

이런 저런 삽질을 하고 나니 결정적으로 내 포트폴리오 사이트가 먹통이었던 이유는 IP 주소가 틀렸기 때문이란 걸 깨달았다.
그전에는 별문제 없었는데 왜 갑자기 먹통이 되었는지는 잘 모르겠다.
몇 년 새 GitHub Pages IP 주소가 바뀌었나..?
어쨌든 스스로 해결해서 기쁘다.

사이트를 살려냈으니 이제 내용을 업데이트할 차례다. 흑흑

참고

Managing a custom domain for your GitHub Pages site
About custom domains and GitHub Pages

--

--