−25%

Windows 연간 결제, 10월 31일까지. 요금제 보기

EQVPS

도메인을 VPS에 연결하는 법 (A, AAAA, www)

A와 AAAA 레코드로 도메인을 VPS에 연결하고, www를 설정하고, dig로 전파를 확인한 뒤 HTTPS를 켜세요. NAT 요금제로 웹사이트를 운영할 수 없는 이유도 설명합니다.

도메인도 샀고 VPS도 있는데 브라우저는 여전히 "사이트에 연결할 수 없음"이라고 합니다. 빠진 조각은 거의 항상 DNS 레코드 두 개와, 올바른 주소에서 실제로 응답하는 웹 서버입니다. 등록 대행사에서 제대로 동작하는 HTTPS 자물쇠까지 전 과정을 정리했습니다.

시작 전에: 요금제가 웹 트래픽을 받을 수 있나요?

방문자는 서버의 80번과 443번 포트로 접속합니다. 그러려면 자체 공인 IP가 있는 요금제가 필요합니다. NAT 요금제는 개인 SSH 포트만 전달하므로 도메인으로 사이트를 운영할 수 없습니다. 차이는 전용 IP와 NAT 비교 글에서 설명합니다. 작은 사이트는 Nano-IP에서 무난히 돌아갑니다.

1. 서버 주소 확인하기

IPv4와 IPv6 주소는 대시보드의 서버 페이지에 있습니다. 예시에서는 문서용 주소를 씁니다.

2. DNS 레코드 만들기

도메인의 DNS를 관리하는 곳(대개 등록 대행사)에 로그인해 다음을 추가합니다.

유형이름값TTL
A@203.0.113.10300
AAAA@2001:db8::10300
CNAMEwwwexample.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

자주 겪는 문제

역방향 DNS에 대해

A와 AAAA 레코드는 이름에서 IP로 갑니다. 역방향 DNS(PTR)는 그 반대이며, 등록 대행사가 아니라 대시보드에서 설정합니다. 메일이나, 그것을 확인하는 서비스가 있을 때만 필요합니다. PTR 가이드에서 다룹니다.

처음으로 사이트를 공개한다면 웹사이트 활용 사례 페이지가 요금제 선택에 도움이 되고, 네트워크 문서에는 요금제별로 받는 주소가 정리돼 있습니다.

자주 묻는 질문

DNS가 반영되는 데 얼마나 걸리나요?

보통 몇 분입니다. 바꾼 레코드는 이전 TTL이 만료되면 어디서나 보이는데, TTL이 300이면 5분입니다. 막 등록한 도메인은 레지스트리가 네임서버를 게시하는 동안 더 걸릴 수 있습니다.

AAAA 레코드가 필요한가요?

웹 서버가 IPv6에서 대기할 때만 필요합니다. AAAA를 추가했는데 nginx가 IPv4에서만 대기하면 IPv6 방문자는 연결 오류를 봅니다. 'listen [::]:80'과 '[::]:443'을 설정하거나, AAAA를 넣지 마세요.

www는 CNAME과 A 레코드 중 무엇이 좋나요?

둘 다 됩니다. 루트 도메인을 가리키는 CNAME이면 IP가 바뀔 때 레코드 하나만 고치면 됩니다. 인증서가 두 이름을 모두 포함하는지만 확인하세요.

NAT 요금제로 웹사이트를 호스팅할 수 있나요?

직접은 안 됩니다. NAT 요금제는 개인 SSH 포트만 전달하므로 방문자가 80번과 443번 포트에 닿지 못합니다. 자신의 도메인으로 사이트를 운영하려면 전용 IP 요금제가 필요합니다.

역방향 DNS도 같은 건가요?

아니요. A와 AAAA는 이름을 IP에 연결하고, 역방향 DNS(PTR)는 IP를 다시 이름에 연결합니다. PTR은 주로 메일 서버에 중요하며, 등록 대행사가 아니라 대시보드에서 설정합니다.

댓글

아직 댓글이 없습니다. 첫 번째가 되세요.

댓글 남기기

댓글은 표시되기 전에 검토됩니다.