← 전체 글로 돌아가기

서버 운영

HTTPS 인증서 문제, 도메인과 트래픽을 안전하게 관리하기

웹 서버의 HTTPS 인증서 관련 문제를 진단하고 안전하게 수정하는 실전 방법입니다.

HTTPS 인증서 문제는 악몽이다. 만료되면 사용자가 접속을 못 하고, 갱신할 때 실수하면 서비스가 멈춘다.

검색해서 들어온 상황이라면 바로 재현 조건부터 잡는 게 빠르다.

문제 상황을 명확히 파악하기

HTTPS 문제는 보통 몇 가지로 나뉜다:

  • 인증서가 만료됨
  • 인증서와 도메인이 맞지 않음
  • 프록시나 로드밸런싱 설정 오류

먼저 봐야 할 것:

  • HTTP status 코드: 정확히 뭐가 에러인지
  • 확인 범위: 모든 도메인에서 안 되는지 일부만인지
  • 프록시 규칙: 리버스 프록시 설정은 제대로 되어 있는지

인증서와 도메인 설정을 확인하기

HTTPS 문제는 보통 인증서 설정에서 나온다.

dig example.com
curl -I https://example.com
sudo nginx -t

curl로 HTTPS 요청을 직접 해보면 정확한 에러 메시지를 볼 수 있다. "certificate not yet valid", "certificate has expired", "hostname mismatch" 같은 구체적인 에러를 확인할 수 있다.

작게 바꿔보고 검증하기

HTTPS 설정은 프록시 규칙, 인증서, DNS까지 여러 부분이 얽혀 있다. 한 가지씩 수정해야 한다.

  1. 원래 증상이 같은 조건에서 다시 나오는지 확인한다.
  2. 로그를 보고 뭐가 다른지 정리한다.
  3. 배포된 화면, 빌드 결과, 실제 서버의 HTTPS 상태를 확인한다.

정리하며

결과가 바뀐 이유를 로그와 응답으로 설명할 수 있으면 충분히 정리된 것이다. HTTPS 관련 기록을 남겨두면 다음 인증서 갱신이 훨씬 쉽다.