서버 운영
개인 프로젝트에서 DNS 레코드 설정을 할 때 필수 확인 사항
새 도메인을 연결하거나 DNS를 수정한 뒤 뭔가 안 보인다면, 메타데이터, canonical 태그, DNS 레코드 순서대로 확인한다.
개인 프로젝트를 새 도메인에 올릴 때, 혹은 DNS를 변경할 때 제일 많은 실수는 메타데이터와 도메인 설정을 따로 봐서 발생한다.
실제 도메인의 HTML을 확인한다
curl -s https://your-domain.com | grep -Ei 'title|description|canonical|og:|twitter:'
canonical 태그가 현재 도메인을 가리키고 있는지, OG 이미지 URL이 절대 경로인지 확인한다. 만약 이전 도메인을 가리키고 있으면 검색 엔진이 혼동할 수 있다.
메타데이터가 빌드에 포함되었는지 본다
npm run build
Next.js 같은 프레임워크는 빌드 시점에 메타데이터를 생성한다. 새 도메인으로 빌드했는지 확인해야 한다. 환경 변수에 도메인이 설정되어 있는지 확인한다.
DNS 레코드가 제대로 전파되었는지 확인한다
dig your-domain.com
혹은:
nslookup your-domain.com
DNS 변경은 반영되는 데 시간이 걸린다. 특히 A 레코드, CNAME, MX 레코드 중 어느 것을 사용하는지에 따라 다르다. 전 세계 DNS 서버가 모두 업데이트될 때까지 기다려야 할 수도 있다.
404나 접속 불가 상태를 구분한다
DNS는 해결되었는데 페이지가 404인 경우와, 도메인 자체에 접속이 안 되는 경우는 원인이 다르다:
- DNS 해결되지 않음: DNS 레코드 확인 필요
- DNS는 되는데 페이지가 없음: 배포 설정 확인 필요 (서버가 실행 중인지, 경로가 맞는지)
HTTPS 인증서가 준비되었는지 본다
새 도메인이면 HTTPS 인증서도 준비해야 한다. Let's Encrypt 같은 서비스를 사용한다면, 도메인이 실제로 유효한지 먼저 확인한 후에 인증서를 요청한다.
변경 사항을 정리해서 남긴다
"도메인 변경됨", "DNS 레코드 추가함" 같은 간단한 노트라도 있으면, 다음에 같은 작업을 할 때 참고할 수 있다.