서버

무료로 HTTPS 적용하는 방법: Let’s Encrypt + Certbot으로 10분 만에 끝냅니다

zumsim 2026. 1. 14. 20:21
728x90
반응형

HTTPS는 이제 선택이 아니라 기본입니다. 브라우저 경고(“안전하지 않음”)를 피하고, 로그인/폼 전송을 안전하게 처리하려면 SSL/TLS 인증서 적용이 필요합니다. 이 글은 무료 인증서(Let’s Encrypt)Certbot으로 발급·자동갱신까지 설정하는 흐름을 정리합니다.

핵심 요약
① 도메인이 서버를 바라보게 설정합니다
② 80/443 포트를 열어둡니다
③ Certbot으로 발급합니다
④ 자동 갱신이 정상인지 테스트합니다

사전 준비(이것만 확인하면 됩니다)

  • 도메인(A/AAAA 레코드)이 서버 IP를 가리켜야 합니다.
  • 방화벽/보안그룹에서 80(HTTP), 443(HTTPS) 포트가 열려 있어야 합니다.
  • 웹서버(Apache 또는 Nginx)가 설치되어 있어야 합니다.

1) Ubuntu 기준: Certbot 설치

sudo apt update
sudo apt install certbot
  

2-A) Nginx 사용 시: 자동 설정으로 발급

sudo apt install python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
  

※ example.com 부분은 실제 도메인으로 바꿔야 합니다.

2-B) Apache 사용 시: 자동 설정으로 발급

sudo apt install python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
  

3) 자동 갱신 설정(중요)

Let’s Encrypt 인증서는 보통 짧은 주기로 갱신합니다. Certbot은 자동 갱신 기능을 제공합니다. 아래 명령으로 갱신 시뮬레이션을 돌려서 정상인지 확인합니다.

sudo certbot renew --dry-run
  

4) 적용 후 체크 포인트

  • HTTP(80) 접속이 HTTPS(443)로 정상 리다이렉트되는지 확인합니다.
  • 워드프레스/웹앱이면 “혼합 콘텐츠(HTTP 이미지/스크립트)”가 없는지 확인합니다.
  • 리다이렉트가 반복되면(무한 리다이렉트) 서버/앱의 HTTPS 설정이 충돌하는지 확인합니다.

자주 나오는 문제 3가지

1) 인증서 발급이 실패합니다

  • 도메인이 서버를 바라보지 않거나 DNS 전파가 끝나지 않았을 수 있습니다.
  • 80 포트가 막혀 있으면 HTTP-01 인증이 실패할 수 있습니다.

2) ERR_TOO_MANY_REDIRECTS가 뜹니다

  • 웹서버 리다이렉트와 앱(워드프레스/프록시)의 리다이렉트가 서로 물고 늘어질 수 있습니다.
  • “앱은 HTTP로 인식, 외부는 HTTPS”처럼 프록시 헤더 설정이 빠진 경우도 많습니다.

3) 인증서 갱신은 되는데 적용이 안 됩니다

  • 갱신 이후 웹서버 reload가 필요할 수 있습니다.
  • Nginx/Apache 설정에서 인증서 경로를 직접 고정해둔 경우 확인이 필요합니다.

공식 문서 링크


 

728x90
반응형