홈/엔지니어/네트워킹 / 서버/Let's Encrypt로 HTTPS 무료 SSL …
네트워킹 / 서버초급ubuntucentosdebiansslhttpsletsencrypt

Let's Encrypt로 HTTPS 무료 SSL 인증서 발급

Certbot을 사용해 도메인에 무료 SSL 인증서를 발급하고 Nginx에 적용, 자동 갱신을 설정하는 방법입니다.

목차
  1. 사전 조건
  2. Certbot 설치
  3. 인증서 발급
  4. 수동 Nginx 설정
  5. 자동 갱신 (90일 유효기간)
  6. 와일드카드 인증서

사전 조건

  • 도메인 A 레코드가 서버 IP를 가리키고 있어야 함
  • 포트 80, 443 열려 있어야 함

Certbot 설치

Bash
sudo apt install -y certbot python3-certbot-nginx

인증서 발급

Bash
sudo certbot --nginx -d example.com -d www.example.com

certbot이 자동으로 Nginx 설정에 SSL 블록과 HTTP → HTTPS 리다이렉트를 추가합니다.


수동 Nginx 설정

Bash
sudo certbot certonly --nginx -d example.com
Nginx
server {
    listen 443 ssl http2;
    server_name example.com;

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

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_stapling on;
    ssl_stapling_verify on;

    location / {
        proxy_pass http://127.0.0.1:3000;
    }
}

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

자동 갱신 (90일 유효기간)

Bash
systemctl status certbot.timer
sudo certbot renew --dry-run

와일드카드 인증서

Bash
sudo certbot certonly \
  --manual \
  --preferred-challenges dns \
  -d "*.example.com" \
  -d example.com
#ssl#https#letsencrypt#certbot#nginx#tls
편집 안내 · Editorial Note

AI 도구가 초안 작성에 사용될 수 있습니다. 명령어의 실행 여부와 검증 환경은 각 가이드에 기재된 근거를 확인하세요. 적용 전 사용 중인 버전의 공식 문서를 확인하고, 오류는 이메일로 알려주세요. 이메일로 제보

주제 관련 공식 문서(자동 연결 · 문장별 근거 아님)NGINX 공식 문서 ↗OpenSSL 공식 문서 ↗

질문 & 답변 (Q&A)

이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.