← 전체 글로 돌아가기

서버 운영

도메인 연결이 안 될 때 DNS부터 Nginx까지 체계적으로 확인하기

네임서버 설정, 인증서, Nginx 설정까지 어디서 문제가 나는지 빠르게 진단하는 순서를 정리했다.

도메인을 새로 연결했는데 접속이 안 되거나 HTTPS 인증서 에러가 나타난다. 이럴 때는 무작정 Nginx 설정을 만지기 전에 DNS부터 체계적으로 확인해야 한다.

DNS 응답 확인하기

가장 기본부터 시작하자. 네임서버가 제대로 응답하는가?

dig example.com
curl -I https://example.com

dig는 DNS 응답을 본다. IP 주소가 맞게 나오는가? 그 다음 curl -I로 실제 HTTP 응답을 받을 수 있는지 본다.

Nginx 설정 검증하기

Nginx 설정이 문법 에러 없이 정확한지 확인한다.

sudo nginx -t

이 명령이 성공하지 않으면 Nginx를 시작해도 작동하지 않는다. 에러 메시지를 읽고, 지정된 파일과 줄 번호로 가서 설정을 확인한다.

HTTP 상태 코드 확인하기

연결이 되는가? 어떤 상태 코드를 받는가? 200, 301, 404, 502 등에 따라 문제의 원인이 다르다.

curl -v https://example.com

응답 헤더를 상세히 본다. 인증서 체인이 제대로 설정되어 있는가? Redirect는 올바른 URL로 가는가?

프록시 규칙 확인하기

Nginx가 올바른 백엔드 서버로 요청을 보내는가? upstream 블록이 정말 작동 중인 서버를 가리키고 있는가?

로컬과 운영의 서비스 포트가 다를 수 있다. 환경 차이까지 고려해야 한다.

캐시와 결과 해석하기

DNS, 브라우저, 프록시 서버의 캐시가 오래된 정보를 들고 있을 수 있다. 이 경우 아무리 설정을 고쳐도 결과가 안 바뀐다.

먼저 한 가지만 고쳐보고, 실제로 반영되었는지 명령어로 확인한다. 결과가 예상과 다르면 서버 설정이 아니라 캐시를 의심해봐야 한다.

마지막: 실제 공개 URL 확인

모든 기술적 확인을 끝낸 후에는 실제 브라우저에서 공개 URL을 열어본다. 로그인이 필요하다면 로그인 후에도 제대로 작동하는지 본다. 이것으로 작업이 끝난다.