• HJ
    ActionMaskTech. Blog
Information
  • About
Blog
  • 전체
    13
  • AI
    3
  • Project
    5
  • Tip
    5
  • Tag
  • Github
  • RSS
  • ©2025 ActionMask. All Rights Reserved.
  1. Home

Let's Encrypt 설치 및 자동 갱신 (feat. Cloudflare)

무료 SSL 인증서를 설정하고 자동 갱신하자.
Tip
2022-02-16 17:34
3분

linux
ubuntu
tip
letsencrypt
ssl
https
In this article
  • 기본 패키지 설치
  • Certbot
  • 플러그인 설치
  • Cloudflare 관련 설정
  • API Key 발급
  • 클라우드플레어 인증 파일
  • 구동 확인
  • 자동 갱신 설정
Tip 카테고리의 다른 글
Vercel 배포 시 Serverless Function 250MB 제한 오류
Vercel 배포 시 Serverless Function 250MB 제한 오류
Next.js 배포 시 Serverless Function의 용량이 과도하게 잡히는 문제
2025-06-28 21:54
Next.js 프로젝트에서 MDX 코드 블럭 꾸미기
Next.js 프로젝트에서 MDX 코드 블럭 꾸미기
rehype-pretty-code 플러그인으로 MDX 코드 블럭을 꾸며보자.
2025-06-08 20:31
Python Flask를 위한 Gunicorn + NGINX 설정 방법
Python Flask를 위한 Gunicorn + NGINX 설정 방법
Ubuntu에서 Flask 어플리케이션을 Nginx와 Gunicorn을 이용해 서빙해보자.
2024-08-24 13:46
Ubuntu 설치 후 짜잘한 설정 팁
Ubuntu 설치 후 짜잘한 설정 팁
개인적으로 주로 하는 설정 작업을 정리해 보았습니다.
2023-03-02 11:36

Warning
클라우드플레어 (Cloudflare)를 사용하는 경우를 가정한 안내입니다.

기본 패키지 설치

Certbot

Let's encrypt 설치를 자동화 해주는 Certbot 패키지를 설치합니다.

sudo apt-get install certbot

플러그인 설치

Cloudflare 전용 DNS 플러그인을 설치합니다.

sudo apt-get install python3-certbot-dns-cloudflare

Cloudflare 관련 설정

API Key 발급

클라우드 플레어 사이트에 접속/로그인 합니다.
내 프로필 > 인증 으로 진입하여, Global API Key 보기 를 눌러서 자료를 저장합니다.

클라우드플레어 인증 파일

아래와 같이 설정 파일을 생성합니다.

mkdir ~/.secrets
mkdir ~/.secrets/certbot
cd ~/.secrets/certbot
vi cloudflare.ini

아래와 같이 해당 파일의 내용을 작성한 후, 저장합니다.

# Cloudflare API token used by Certbot
dns_cloudflare_email = {클라우드플레어 계정 이메일주소}
dns_cloudflare_api_key = {발급 받은 API Key}

마지막으로, 생성한 파일의 권한을 변경합니다.

chmod 600 ~/.secrets/certbot/cloudflare.ini

구동 확인

아래 명령어를 통해서 인증서 다운로드가 정상적으로 되는지 확인합니다. 아래 명령어에서 domain.com, *.domain.com 부분은 자신의 도메인으로 변경합니다.

sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /home/ubuntu/.secrets/certbot/cloudflare.ini -d domain.com,*.domain.com --preferred-challenges dns-01

다운로드 된 인증서를 확인합니다. 인증서 경로는 아래와 같습니다.

# 체인 인증서
/etc/letsencrypt/live/도메인명/fullchain.pem
 
#개인키
/etc/letsencrypt/live/도메인명/privkey.pem

위 인증서를 NGINX 가상 호스트 설정 파일 등에 적용하면 됩니다.

자동 갱신 설정

Crontab 설정을 통해 주기적으로 갱신 확인

sudo vi /etc/crontab

아래와 같이 설정합니다. (주기는 적절하게 수정 가능)

0 0 1 */3 *  root certbot renew --quiet --post-hook "service nginx reload" > /dev/null 2>&1

위 설정을 통해, 주기적으로 인증서를 갱신할 수 있고, 인증서가 갱신되면 웹서버를 자동으로 재시작합니다.

이와 같이 무료로 쉽게 SSL 인증서를 갱신하고 사용할 수 있습니다.

궁금한 사항이나 보완 내용은 댓글로 남겨주시기 바랍니다.

감사합니다.