웹서버에 SSL을 적용하기 위해 Let’s Encrypt 인증서를 발급받을 때 letsencrypt 또는 certbot 클라이언트를 설치해 사용하는데요.
최근에 Let’s Encrypt 인증 프로토콜 방식이 업데이트되면서 기존 프로토콜인 ACMEv1은 20년 6월 1일부터 사용할 수 없게 되었습니다.
Update your client software to continue using Let’s Encrypt
ACMEv1 방식으로 인증서 갱신을 했다면 위와 같은 제목의 이메일을 받아봤을텐데 내용의 요지는 클라이언트를 ACMEv2 호환으로 업데이트하라는 것으로 다음과 같이 letsencrypt 패키지를 업데이트하면 됩니다.
튜토리얼 환경 : 우분투 16.04
# letsencrypt --version certbot 0.23.0
certbot 패키지나 letsencrypt 패키지나 명령어 차이만 있을 뿐 원리는 같습니다.
필자는 letsencrypt 패키지로 인증 및 갱신을 했기 때문에 letsencrypt를 기준으로 설명하면 위 명령어로 기존 패키지 버전을 확인한 다음 0.27.0 버전 이하라면 업데이트를 진행해야 합니다.
# apt update # apt upgrade
위 명령어로 패키지 repo를 업데이트한 다음 최신버전으로 업그레이드 합니다.
# letsencrypt renew
위 명령어로 인증서를 업데이트합니다.
# renew_before_expiry = 30 daysversion = 0.23.0 archive_dir = /etc/letsencrypt/archive/domain.com cert = /etc/letsencrypt/live/domain.com/cert.pem privkey = /etc/letsencrypt/live/domain.com/privkey.pem chain = /etc/letsencrypt/live/domain.com/chain.pem fullchain = /etc/letsencrypt/live/domain.com/fullchain.pem # Options used in the renewal process [renewalparams] account = 012345ab12345ab12345ab123456789a authenticator = webroot installer = None [[webroot_map]] domain.com = /var/www/domain.com
만일 업데이트가 되지 않는다면 /etc/letsencrypt/renewal/
안의 domain.conf 파일을 열어 맨 첫번째줄의 주석을 해제한 다음 다시 시도합니다.
만일 플러그인 관련 오류가 나타난다면 예전 스크립트를 사용하고 있는 것으로 conf 파일을 삭제한 다음 아래 명령어로 발급 받습니다.
letsencrypt certonly --webroot --webroot-path=/var/domain.com -d domain.com -d www.domain.com
letsencrypt에서 처음 발급받을 때 사용하는 명령어로 새롭게 발급받은 다음 웹서버를 재시작해 인증서를 적용합니다.