Post

Certbot으로 Lets Encrypt wildcard 인증서 갱신하기 - CloudFlare 연동

3개월전에 받은 Lets Encrypt 인증서가 오늘 만료되기에 갱신을 해 보기로 했다 저번에 얘기한대로 자동으로 할 수 있게 CloudFlare 로 DNS를 옮겼다

그리고 CloudFlare 플러그인이 필요하므로 다음을 실행한다

1
2
3
sudo snap set certbot trust-plugin-with-root=ok
sudo snap install certbot-dns-cloudflare
sudo snap connect certbot:plugin certbot-dns-cloudflare

그리고 cloudflare.ini 를 만들고 아래 내용을 넣는다 관련 내용은 https://certbot-dns-cloudflare.readthedocs.io/en/stable/에 있다. 인증서는 CloudFlare 의 프로필 -> API 토큰에 가면 만들 수 있다https://dash.cloudflare.com/profile/api-tokens

1
dns_cloudflare_api_token = TOKEN

그리고 권한을 600으로 바꾼다

1
chmod 600 cloudflare.ini

그리고 아래 명령어를 실행하여 certbot 버전을 확인한다

1
certbot --version

나는 0.40.0 이었다… 사실은 snap 에서 최신버전이 설치 되어 있었는데, apt 에서 설치된 구버전 역시 있었고, 링크를 안바꿔서 구버전으로 돌고 있더라. 그래서 최신버전으로 링크를 바꿔줫다. 1.2.0 이상이면 문제 없는거 같고, 이 글을 쓰는 시점의 최신버전은 1.22.0 이다

1
sudo ln -s /snap/bin/certbot /usr/bin/certbot

그리고 도메인들을 명시해서 요청한다. -d 뒤에 명시하면 된다 난 이전과 같이 와일드카드 도메인이 2개다

1
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ./cloudflare.ini -d *.lunapiece.net,*.gitlab-pages.lunapiece.net --preferred-challenges dns-01

그럼 잠시동안 기다리면 완료된다. 이후 nginx 를 재시작하여 인증서를 다시 로딩해 주었다

This post is licensed under CC BY 4.0 by the author.