(AWS) Let's encrypt 인증서 재발급

최건·2025년 8월 1일

  • 어느 날 서버 500 에러가 나더니, 위처럼 오류가 발생했다.
  • 이유를 찾던 도중 SSL 인증서(HTTPS 인증서)의 유효 기간 또는 날짜 설정에 관련된 문제라는 글을 발견했다.
  • 해당 상태는 SSL 인증서의 유효 기간이 만료되어 생기는 문제였다.

해결 방법

1. 인증서 만료 여부 확인

  • 처음에 인증서를 어디에 두었는지부터 찾아야 한다.
    /opt/bitnami/letsencrypt/certificates/ 나는 이 곳에 두었다.

  • 인증서를 확인해야 하므로, .crt인 파일을 찾아야 한다.
    sudo openssl x509 -in /opt/bitnami/letsencrypt/certificates/api.sosohan.shop.crt -noout -dates

notBefore=May  1 10:02:29 2025 GMT
notAfter=Jul 30 10:02:28 2025 GMT  ← 이게 과거면 만료됨
  • 위처럼 결과가 나오는데, noAfter을 현재 날짜와 비교해서 만료되었다면 인증서를 재발급 받아야 한다.
  • Jul 30으로 되어 있기 때문에 현재 8월 1일이므로 기한이 만료됐다...

1-1. 인증서 발급시 등록한 이메일 찾기

  • 등록한 이메일을 알아야 재발급이 가능하다.
  • 아래와 같은 명령어로 등록한 이메일을 찾을 수 있다.
# 경로 이동
cd /opt/bitnami/letsencrypt/accounts/acme-v02.api.letsencrypt.org/

#내부 확인
ls

2. 인증서 재발급 받기

sudo /opt/bitnami/letsencrypt/lego \
--tls \
--email 이메일 \
--domains 도메인 \
--path "/opt/bitnami/letsencrypt" \
renew
  • 위 코드를 입력해주면 완성이다.
  • 단 주의할게 있는데, 위 명령어에서 443 포트를 잠깐 점유해야 하기 때문에 다른 프로세스 (예: nginx, Node.js 등)가 443을 사용 중이면 충돌이 생긴다. 따라서 실행 중인 서비스를 중단해야 한다.
profile
개발이 즐거운 백엔드 개발자

0개의 댓글