도메인도 샀고 VPS도 있는데 브라우저는 여전히 "사이트에 연결할 수 없음"이라고 합니다. 빠진 조각은 거의 항상 DNS 레코드 두 개와, 올바른 주소에서 실제로 응답하는 웹 서버입니다. 등록 대행사에서 제대로 동작하는 HTTPS 자물쇠까지 전 과정을 정리했습니다.
시작 전에: 요금제가 웹 트래픽을 받을 수 있나요?
방문자는 서버의 80번과 443번 포트로 접속합니다. 그러려면 자체 공인 IP가 있는 요금제가 필요합니다. NAT 요금제는 개인 SSH 포트만 전달하므로 도메인으로 사이트를 운영할 수 없습니다. 차이는 전용 IP와 NAT 비교 글에서 설명합니다. 작은 사이트는 Nano-IP에서 무난히 돌아갑니다.
1. 서버 주소 확인하기
IPv4와 IPv6 주소는 대시보드의 서버 페이지에 있습니다. 예시에서는 문서용 주소를 씁니다.
- IPv4:
203.0.113.10 - IPv6:
2001:db8::10
2. DNS 레코드 만들기
도메인의 DNS를 관리하는 곳(대개 등록 대행사)에 로그인해 다음을 추가합니다.
| 유형 | 이름 | 값 | TTL |
|---|---|---|---|
| A | @ | 203.0.113.10 | 300 |
| AAAA | @ | 2001:db8::10 | 300 |
| CNAME | www | example.com. | 300 |
@는 루트 도메인을 뜻합니다. 300초처럼 짧은 TTL을 쓰면 실수를 싸게 고칠 수 있고, 모두 잘 되면 3600으로 올려도 됩니다.
아직 IPv6를 쓰지 않을 거라면 AAAA 레코드는 일단 건너뛰세요. 5단계의 주의 사항을 보세요.
3. DNS가 응답하는지 확인하기
등록 대행사의 "저장됨" 메시지를 믿지 마세요. DNS에 직접 물어보세요.
dig +short example.com A
dig +short example.com AAAA
dig +short www.example.com
dig +short example.com A @1.1.1.1
마지막 줄은 공용 리졸버에 묻기 때문에 방문자가 보는 결과에 더 가깝습니다. 내 IP가 돌아오면 DNS는 끝났습니다.
4. 서버가 응답하게 만들기
nginx를 설치하고 포트를 엽니다.
apt update && apt install -y nginx
ufw allow 80/tcp
ufw allow 443/tcp
http://example.com을 열면 nginx 환영 페이지가 보여야 합니다. 이제 무료 인증서로 HTTPS를 추가합니다.
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot은 nginx 설정을 수정하고, HTTPS로 리디렉션을 설정하며, 인증서를 자동으로 갱신합니다. nginx 뒤에 실제 앱을 둔다면 HTTPS 리버스 프록시 가이드를 따르세요.
5. IPv6 함정
많은 사람이 여기에 걸립니다. AAAA 레코드를 추가했는데 nginx는 IPv4에서만 대기합니다. IPv6 방문자(많은 모바일 네트워크)는 IPv6 주소를 먼저 시도하다 실패합니다. server 블록에 두 줄이 모두 있는지 확인하세요.
listen 80;
listen [::]:80;
Ubuntu의 기본 nginx 설정에는 이미 [::]가 들어 있지만, 직접 만든 설정에서는 자주 빠집니다. IPv6가 되는 기기에서 테스트하세요.
curl -6 -I https://example.com
자주 겪는 문제
- 예전 IP가 계속 보임: 로컬 리졸버가 캐시해 둔 것입니다. TTL이 끝나길 기다리거나 위처럼
@1.1.1.1에 물어보세요. - Certbot이 타임아웃으로 실패: 80번 포트가 막혔거나 DNS가 아직 여기를 가리키지 않습니다.
ufw status와dig를 다시 확인하세요. - www 없이는 되는데 www를 붙이면 실패: 인증서나 server 블록에
www가 빠졌습니다. 두 이름으로 certbot을 다시 실행하세요.
역방향 DNS에 대해
A와 AAAA 레코드는 이름에서 IP로 갑니다. 역방향 DNS(PTR)는 그 반대이며, 등록 대행사가 아니라 대시보드에서 설정합니다. 메일이나, 그것을 확인하는 서비스가 있을 때만 필요합니다. PTR 가이드에서 다룹니다.
처음으로 사이트를 공개한다면 웹사이트 활용 사례 페이지가 요금제 선택에 도움이 되고, 네트워크 문서에는 요금제별로 받는 주소가 정리돼 있습니다.
댓글
아직 댓글이 없습니다. 첫 번째가 되세요.