SSL 인증서 적용했는데 브라우저에서 안 되는 이유와 해결 방법 알아보기!

SSL 인증서를 정상적으로 설치했는데도 브라우저에서는 안전하지 않음 또는 이전 인증서가 보이는 경우가 가끔 있어요.

왜 안전하지 않음이라고 뜨냐면, 인증서를 잘못 설치해서가 아니라, 캐시,설정,배포하는 과정에서 중간에 꼬여서 그래요

SSL 인증서 적용 후 브라우저에서 안 되는 이유와 해결 방법을 이해하기 쉽게 알려드리겠습니다!

브라우저 캐시 문제

가장 흔한 건 캐시 때문에 그래요!

브라우저는 SSL 인증서 정보도 일정 시간동안 계속 캐싱을 하기 때문에 이미 갱신된 인증서가 있어도 갱신 전 상태를 계속 보여줄 수 있답니다.

해결 방법

  • 강력 새로고침 (Ctrl + Shift + R)
  • 시크릿 모드에서 접속 확인
  • 브라우저 캐시 삭제

다른 브라우저나 모바일에서 테스트해보면 빠르게 확인할 수 있어요!

CDN 캐시 문제

CDN을 쓰고 있다면, 인증서가 서버가 아니라 CDN 레이어에 적용되어 있을 수 있어요.

이럴 때는 원본 서버에서는 정상인데 사람들한테는 전에 사용하던 인증서가 보여요.

해결 방법

  • CDN 캐시 전체 삭제
  • SSL 설정 모드 확인
  • CDN 인증서 상태 확인

인증서 체인 누락

SSL 인증서는 단일 파일이 아니여서 루트 – 중간 – 서버 인증서 구조로 연결돼요.

이 중간 인증서가 빠지면 일부 브라우저에서 인증서를 신뢰하지 못하는 상태가 되버립니다!

확인 방법

  • openssl s_client -connect 도메인:443

출력 결과에서 인증서 체인이 정상적으로 연결되어 있는지 확인하시면 돼요.

해결 방법

  • fullchain.pem 사용
  • 인증서 설치 시 체인 파일 포함

Nginx 설정 오류

인증서를 설치했어도 Nginx 설정이 제대로 안 되어 있으면 오류가 날 수 있어요.

제가 전 글에서도 말씀드렸듯이 Nginx 설정은 잘 해놓으셔야 해요!

확인해야 할 설정

server {
listen 443 ssl;
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/private.key;
}

복사 붙여넣기 하셔도 무관합니다!

적용 후 필수 작업

  • sudo nginx -t
  • sudo systemctl reload nginx

아 참고로 리로드없이 설정만 바꾸면 반영이 안 돼요!! 모르시는 분들이 정말 많아요. 꼭 알아두세요!

HTTP, HTTPS 리다이렉트 문제

HTTPS 설정이 정상적으로 되도, HTTP 요청이 제대로 안 넘어가면 사람들한테 계속 보안창이 떠요.

해결 방법

server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}

조금 어려울 수 있으니 제거 복사 붙여넣기 하셔도 돼요!

서버 여러 대 운영 시 인증서 불일치

로드밸런서나 여러 서버를 돌리고 있을 때 일부 서버에서만 인증서가 올라가 있을 수 있어요.

일부 서버에만 인증서가 올라가면 어떤 사람한테는 정상으로 보이고 어떤 사용자한테는 이전 인증서가 떠요.

해결 방법

  • 모든 서버에 같은 인증서 배포
  • 로드밸런서 SSL 설정 확인

마무리

SSL 인증서가 브라우저에 안 잡히는 문제는 단순 설정 실수 때문에 그런게 아니라 캐시, 네트워크, 인증서 구조, 서버 구성까지 여러 문제가 꼬여서 그런 경우가 대다수에요.

만약 문제가 생겨서 정말 급하다 싶으면 아래 순서로 한 번 해보세요! 제가 간략하게 정리해놨어요.

  1. 브라우저 캐시 확인
  2. CDN 캐시 여부 확인
  3. 인증서 체인 점검
  4. Nginx 설정 및 재적용
  5. 리다이렉트 설정 확인
  6. 서버 구성 점검

SSL은 보안이 기본이여서 문제가 생겼을 때는 원인을 최대한 빨리 찾아서 해결하는 게 가장 중요하답니다!

오늘도 글 읽어주셔서 감사드려요!

댓글 남기기