티스토리 뷰

자동으로 갱신이 가능하려면 도메인 네임서버(DNS)가 클라우드플레어(Cloudflare)로 등록되어 있어야 가능함

기존 방식으로 처리가 되지 않아 cloudflare API를 활용함

 

https://dash.cloudflare.com/profile/api-tokens

 

위 페이지에서 API 키를 Global API Key를 생성 또는 확인(생성한적이 없는거 같은데 생성되어있어서...)

 

서버는 centos7

root 계정으로 진행

 

우선 certbot-dns-cloudflare 설치

yum install certbot-dns-cloudflare

 

설치 후 계정 홈 폴더로 이동해서 폴더 생성 후 파일까지 생성

 

cd ~/

mkdir .secrets

vim cloudflare.ini

 

 # Cloudflare API credentials used by Certbot
 dns_cloudflare_email = 클라우드플래어 계정 이메일
 dns_cloudflare_api_key = global key 

 

저장 후 해당 폴더 및 파일 권한 변경

폴더는 700 파일은 600

 

기존에 인증서가 생성되어있다면 삭제하고 진행하고 없다면 그냥 진행

 

certbot certonly \
-d *.도메인.컴 \
-d 도메인.컴 \
--server https://acme-v02.api.letsencrypt.org/directory \
--dns-cloudflare --dns-cloudflare-credentials ~/.secrets/cloudflare.ini \
--preferred-challenges dns-01

 

도메인이 여러개라면 도메인별로 따로 실행

도메인.컴 / 도메인11.컴 인경우

 

*.도메인.컴

도메인.컴

 

*.도메인11.컴

도메인11.컴

 

위처럼 생성 명령 2번 실행 ㄱㄱ

 

*.도메인.컴 / 도메인.컴 두 도메인 다 생성해야 정상 생성 됨

*.도메인.컴만 생성하면 인증서 오류 뜸

 

위 명령어 그대로 콘솔에 실행하면 인증서 생성 됨

 

인증서 갱신은 certbot renew

 

인증서 자동 갱신은 crontab 에 넣어서 처리하면 되지만 nginx는 재시작 따로 걸어줘야하니 스크립트 짜서 스케쥴로 넣는게 좋을듯 함

 

 

 

댓글