Let’s Encrypt SSL 무료 발급 자동갱신 튜토리얼 2026

이 글에는 제휴 링크(affiliate link)가 포함되어 있습니다. Vultr·DigitalOcean 가입 링크로 가입하시면 추가 비용 없이 크레딧 혜택을 받으실 수 있으며, 블로그 운영에 도움이 됩니다.

Let’s Encrypt를 사용해 Nginx 서버에 무료 SSL 인증서를 발급받으면 보안 연결을 완벽하게 적용할 수 있습니다.

인증서 자동 갱신 설정을 통해 만료 걱정 없이 서버를 안정적으로 운영할 수 있습니다.

Let’s Encrypt SSL 인증서: 2026년에도 무료가 최고다

HTTPS는 2026년에 더 이상 선택이 아닙니다. Chrome은 SSL이 없는 사이트에 “안전하지 않음” 경고를 띄우고, Google은 HTTPS를 가벼운 순위 신호로 쓴다고 밝혔습니다. 과거에는 연간 수만 원짜리 유료 인증서가 필요했지만, Let’s Encrypt가 등장한 이후 누구나 무료로 SSL 인증서를 발급받을 수 있습니다.

이 튜토리얼에서는 Nginx와 Apache를 사용하는 VPS에서 Let’s Encrypt 인증서를 발급받고, 자동갱신까지 설정하는 방법을 단계별로 설명합니다. Vultr, DigitalOcean, Hetzner 어떤 VPS에서도 동일하게 적용됩니다.

필수 조건: 도메인 1개, 도메인을 가리키는 VPS 1대, 웹서버(Nginx/Apache). 아직 VPS가 없다면 Vultr 또는 Hetzner로 시작하세요.

1단계: 도메인을 VPS에 연결하는 방법

Let’s Encrypt SSL 무료 발급 자동갱신 튜토리얼 2026

SSL 발급 전, 도메인이 VPS의 공인 IP를 정확히 가리켜야 합니다. DNS 설정에서 A 레코드를 추가하세요.

유형 이름 값
A @ 203.0.113.10 (VPS IP)
A www 203.0.113.10

DNS 전파 시간은 TTL 설정에 따라 다르며 몇 분에서 몇 시간까지 걸릴 수 있습니다. 확인:

dig +short yourdomain.com

출력이 VPS IP와 일치하면 다음 단계로.

2단계: Certbot 설치하는 방법

개발자의 손이 키보드를 타이핑하며 명령어를 입력하는 클로즈업

Certbot은 Let’s Encrypt 인증서 발급·갱신을 자동화하는 공식 클라이언트입니다.

Ubuntu / Debian

sudo apt update
sudo apt install certbot python3-certbot-nginx -y  # Nginx용
# Apache라면: sudo apt install certbot python3-certbot-apache -y

CentOS / RHEL / Rocky

sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-nginx -y

3단계: 인증서 발급받기 (Nginx)

Certbot의 Nginx 플러그인을 쓰면 서버 설정까지 자동으로 처리됩니다. Nginx가 실행 중이어야 합니다.

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

첫 실행 시 두 가지를 물어봅니다:

  1. 이메일 입력: 계정 연락처용. Let’s Encrypt는 2025년 6월 4일 만료 알림 메일 발송을 중단했으므로 갱신이 잘 되는지는 직접 확인해야 합니다(certbot renew --dry-run, 모니터링 서비스)
  2. 이용약관 동의: Y
  3. HTTP를 HTTPS로 강제 리다이렉트? → 2번(리다이렉트) 추천

성공하면 다음과 같은 메시지가 나옵니다:

Successfully deployed certificate for yourdomain.com
Congratulations! You have successfully enabled HTTPS

이제 사이트에 HTTPS로 접속되고 자동으로 리다이렉트됩니다.

Apache의 경우

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

4단계: 인증서 파일 위치 확인

나무 테이블에 정리된 알록달록한 색색의 폴더와 펜

발급된 인증서는 /etc/letsencrypt/live/yourdomain.com/에 저장됩니다.

파일 용도
fullchain.pem 인증서 + 체인 (웹서버에서 사용)
privkey.pem 개인키 (절대 노출 금지)
chain.pem 중간 인증서

5단계: 자동갱신 설정하기 (가장 중요)

Let’s Encrypt 인증서는 현재 90일마다 만료됩니다. Let’s Encrypt는 기본 유효기간을 2027년 2월 10일 64일로, 2028년 2월 16일 45일로 줄일 예정이라(공식 블로그) 자동 갱신 설정이 점점 더 중요해집니다. 매번 수동으로 갱신할 필요 없이 Cron/시스템 타이머가 자동 처리하게 설정합니다.

Certbot이 자동으로 설치한 타이머 확인

sudo systemctl status certbot.timer

보통 Certbot 설치 시 자동으로 활성화됩니다. active (waiting)이면 정상입니다.

갱신 테스트 (dry-run)

sudo certbot renew --dry-run

Congratulations, all renewals succeeded가 나오면 자동갱신이 정상 동작합니다. 실제 갱신은 만료 30일 전에 자동 실행됩니다.

갱신 후 웹서버 재시작 자동화

인증서가 갱신돼도 Nginx가 새 파일을 로드하지 않으면 예전 인증서를 계속 씁니다. 이를 방지하려면 deploy-hook을 설정합니다.

sudo systemctl reload nginx

자동화:

echo '0 0,12 * * * root /usr/bin/certbot renew --quiet --deploy-hook "systemctl reload nginx"' | sudo tee /etc/cron.d/certbot

SSL 성능 최적화: A+ 등급 받는 방법

핑크 배경과 색종이 위의 업적 인증서

발급받았다고 끝이 아닙니다. Nginx 설정을 튜닝하면 SSL Labs에서 A+ 등급을 받아 보안과 SEO를 동시에 올릴 수 있습니다. Nginx 서버 블록에 추가:

server {
    listen 443 ssl http2;
    server_name yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

    # 최신 보안 설정
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;

    # HSTS (1년 적용)
    add_header Strict-Transport-Security "max-age=31536000" always;
}

설정 적용: sudo nginx -t && sudo systemctl reload nginx

속도 최적화까지 포함한 전체 가이드는 워드프레스 속도 최적화 가이드를 참고하세요.

여러 도메인/서브도메인 한 번에 발급하는 방법

와이어 펜스 그물에 채워진 녹색 자물쇠

한 인증서로 여러 도메인을 커버하려면 -d를 여러 번 씁니다.

sudo certbot --nginx \
  -d yourdomain.com \
  -d www.yourdomain.com \
  -d api.yourdomain.com \
  -d app.yourdomain.com

와일드카드 인증서(*.yourdomain.com)는 DNS 인증이 필요하므로 조금 더 복잡합니다:

sudo certbot certonly --manual --preferred-challenges dns \
  -d *.yourdomain.com -d yourdomain.com

DNS TXT 레코드를 추가하라는 지시가 나오면 도메인 제공업체에 추가하면 됩니다. 단, --manual로 받은 인증서는 자동 갱신이 되지 않습니다(Certbot 공식 문서). 자동 갱신이 필요하면 DNS 업체별 플러그인(예: certbot-dns-cloudflare)이나 --manual-auth-hook 스크립트를 쓰세요.

Let’s Encrypt vs 유료 인증서 (2026년 비교)

항목 Let’s Encrypt 유료 DV EV (기업 인증)
비용 무료 기관·상품별로 다름 기관·상품별로 다름
암호화 강도 동일 (TLS 1.3) 동일 동일
발급 속도 자동(ACME) 기관별로 다름 조직 심사 필요
유효기간 90일 (자동갱신) 최대 200일 최대 200일
Warranty 없음 기관별로 다름 기관별로 다름
브라우저 표시 자물쇠 아이콘 자물쇠 아이콘 회사명 (Chrome 77부터 주소창 표시 제거)

결론: 개인 블로그, 소규모 비즈니스, 개발 프로젝트라면 Let’s Encrypt로 충분합니다. 암호화 보안 수준은 동일하면서 비용은 0원입니다. 유료 인증서의 최대 유효기간은 CA/브라우저 포럼 규정에 따라 2026년 3월 15일부터 200일로 줄었습니다(Baseline Requirements). Chrome은 2019년(77)부터 주소창에 EV 회사명을 따로 보여 주지 않으므로 EV의 표시 효과는 크지 않습니다.

자주 묻는 질문 (FAQ)

Q1. Let’s Encrypt 인증서는 신뢰할 만한가요?

네. ISRG가 운영하고 Mozilla·Google·Cisco·EFF 등이 후원하는 공인 인증기관입니다. 모든 주요 브라우저와 기기에 루트 인증서가 내장돼 있어 유료 인증서와 동일하게 신뢰됩니다.

Q2. 90일마다 만료하는데 귀찮지 않나요?

아닙니다. Certbot이 만료 30일 전부터(90일 인증서 기준) 자동갱신하므로 한 번 설정해 두면 되지만, 만료 알림 메일이 사라졌으니 가끔 certbot renew --dry-run으로 확인하세요. 오히려 짧은 주기가 키 회전을 빠르게 해 보안에 유리합니다.

Q3. Cloudflare를 이미 쓰고 있는데 SSL을 또 발급해야 하나요?

Cloudflare의 Full(Strict) 모드를 쓰면 Origin 서버(VPS)에도 유효한 인증서가 필요합니다. 이때 Let’s Encrypt를 Origin 인증서로 쓰면 됩니다. Cloudflare 설정법은Cloudflare CDN 설정 가이드를 참고하세요.

Q4. 발급 한도(Rate Limit)가 있나요?

있습니다. 같은 도메인 조합으로는 7일에 5장까지만 발급할 수 있고, 같은 도메인 검증에서 한 계정이 1시간에 5번 실패하면 잠시 막힙니다(공식 한도 문서). 실서비스에서는 --dry-run으로 테스트한 뒤 실제 발급하세요.

마무리: 무료 SSL로 사이트 신뢰와 SEO 동시 확보

Let’s Encrypt는 VPS 운영에서 가장 가성비 높은 설정 중 하나입니다. 한 번 설정해 두면 계속 HTTPS를 유지하면서 유료 인증서와 동일한 암호화 수준을 확보합니다. 자동갱신까지 설정하면 관리 부담이 크게 줄어듭니다(갱신이 실패하지 않는지는 가끔 확인하세요).

VPS + Let’s Encrypt 조합으로 웹사이트를 운영하려면 아래 링크에서 가성비 좋은 VPS를 찾아보세요.

관련 가이드: VPS 보안 완벽 가이드 | WordPress용 최고 VPS

함께 읽어보세요: Cloudflare CDN 설정 완벽 가이드 2026: 무료로 웹사이트 속도와 보안 높이기

관련 글