[Nginx] 5분 만에 무료 SSL 인증서 적용하기 (feat. Let's Encrypt & Certbot)

👋 들어가며
개인 프로젝트를 배포하고 도메인을 연결했는데, 주소창에 '주의 요함(Not Secure)' 이라고 뜨면 마음이 아프죠?
요즘 웹사이트에 HTTPS(자물쇠 아이콘🔒) 적용은 선택이 아닌 필수입니다.
오늘은 Nginx 서버에서 Certbot을 이용해 무료로, 아주 간편하게 SSL 인증서를 발급받고 자동 갱신까지 설정하는 방법을 정리했습니다.
✅ 준비물
- 우분투(Ubuntu) 리눅스 서버 (Nginx 설치됨)
- 구매한 도메인 (DNS 설정으로 서버 IP와 연결 필수!)
1. Certbot 설치하기
가장 먼저 certbot과 Nginx용 플러그인을 설치해야 합니다. 터미널을 열고 아래 명령어를 순서대로 입력합니다.
# 패키지 목록 업데이트
sudo apt update
# certbot과 nginx 플러그인 설치
sudo apt install certbot python3-certbot-nginx
2. 인증서 발급받기
설치가 끝났다면 인증서를 발급받을 차례입니다. -d 옵션 뒤에 연결할 도메인 주소를 입력합니다. www가 붙은 주소도 함께 등록하는 것이 좋습니다.
# example.com 부분에 본인 도메인을 입력하세요
sudo certbot --nginx -d example.com -d www.example.com
명령어를 실행하면 몇 가지 질문이 나옵니다.
- 이메일 입력: 인증서 갱신 알림을 받을 이메일을 입력합니다.
- 약관 동의: Y를 입력해 동의합니다.
- 뉴스레터 구독: Y 또는 N (자유롭게 선택).
- 리다이렉트 설정 (중요!):
- 1: No redirect (HTTP로 접속해도 놔둠)
- 2: Redirect (HTTP로 접속하면 자동으로 HTTPS로 이동)
- 👉 무조건 2번을 선택하고 엔터를 누르세요.
Tip: 2번을 선택하면 사용자가 http://로 들어와도 자동으로 안전한 https://로 연결해 줍니다. Nginx 설정 파일도 알아서 수정해 주니 정말 편합니다.
3. 적용 확인 및 Nginx 재시작
인증서 발급이 완료되면 Congratulations!라는 메시지가 뜹니다. 확실한 적용을 위해 Nginx를 재시작해 줍니다.
sudo systemctl restart nginx
이제 브라우저 주소창에 내 도메인을 입력해 보세요.
주소 옆에 자물쇠 아이콘(🔒)이 예쁘게 생겼다면 성공입니다! 😎
4. 자동 갱신 설정 확인 (테스트)
Let's Encrypt의 무료 인증서는 유효기간이 90일입니다. 하지만 걱정 마세요. Certbot을 설치할 때 자동으로 갱신하는 스케줄러가 함께 등록됩니다.
잘 작동하는지 테스트해 보려면 아래 명령어를 입력해 보세요.
sudo certbot renew --dry-run
에러 없이 Simulated renewal succeeded 같은 문구가 뜬다면, 앞으로 인증서 만료 걱정 없이 꿀잠 자면 됩니다. 🛌
📝 마치며
예전에는 HTTPS 적용하려면 돈도 들고 설정도 복잡했는데, Certbot 덕분에 정말 세상 좋아졌습니다. 여러분의 소중한 도메인에 보안 자물쇠를 꼭 채워주세요!