본문 바로가기
설치 및 기술 자료/Linux

[Linux] Let's Encrypt 인증서로 SSL 적용하기

by 주식회사 서버몬 2025. 3. 17.

 

안녕하세요. 주식회사 서버몬 입니다.

웹사이트를 운영하면서 보안성을 높이기 위해 HTTPS는 필수입니다.

이번 포스팅에서는 Let's Encrypt의 무료 SSL 인증서를 Certbot을 활용하여 발급하고, 자동 갱신까지 설정하는 방법을 상세히 알려드리겠습니다

 

Let's Encrypt 이란?

 

 

Let's Encrypt는 사용자에게 무료로 TLS 인증서를 발급해주는 비영리기관  몇 가지 TLS 인증서 종류 중에서

완전 자동화가 가능한 DV (Domain Validated, 도메인 확인) 인증서를 무료로 발급하며
모질라 재단, 페이스북, 구글 등 많은 업체가 스폰서로 등록되어 있다. 

 

 

Certbot 이란

 

Certbot Let's Encrypt에서 무료로 제공하는 SSL 인증서를 쉽게 발급하고 자동으로 갱신할 수 있도록 도와주는 오픈소스 도구입니다. Apache, Nginx 같은 주요 웹 서버와도 손쉽게 연동할 수 있습니다.

 

 

Cerbot 설치

Ubuntu / Debian 계열
sudo apt update
sudo apt install nginx
sudo apt install certbot python3-certbot-nginx -y

Rocky Linux / CentOS
sudo dnf install nginx
sudo dnf install epel-release -y
sudo dnf install certbot python3-certbot-nginx -y

Nginx 대신 Apache를 사용한다면 python3-certbot-apache 패키지를 설치 합니다.

 

Nginx 구성

기본 페이지 수정 (example.com 도메인은 사용할 도메인으로 변경)
/etc/nginx/conf.d/default.conf 

server {
    listen       80;
    server_name  example.com;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

#설정 리로딩#
nginx -s reload

 

 

인증서 발급하기

Nginx를 기준으로 한 발급 예시
sudo certbot --nginx -d www.example.com

주요 옵션 설명
--nginx: Nginx 설정 자동 수정
-d: 인증서를 적용할 도메인 (여러 개 가능)

성공 시 출력 예시
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/{Domain}/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/{Domain}/privkey.pem
This certificate expires on 2025-06-14.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Successfully deployed certificate for www.junonet.co.kr to /etc/nginx/conf.d/default.conf
Congratulations! You have successfully enabled HTTPS on https://{Domain)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

SSL 인증서 적용
sudo systemctl reload nginx

 

인증서 적용 확인

 

구성한 도메인 주소로 웹 브라우저를 통해 접근 합니다.

https://{Domain}

 

이전에 발급한 인증서가 적용된것을 확인할 수 있습니다.

 

 

인증서 자동 갱신 설정

 

Let's Encrypt 인증서는 기본적으로 90일 동안 유효합니다. Certbot은 자동으로 갱신하는 기능을 제공합니다.

인증서 갱신 테스트
sudo certbot renew --dry-run

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/{Doamin}.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Account registered.
Simulating renewal of an existing certificate for {Doamin}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded:
  /etc/letsencrypt/live/{Doamin}/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

주기적으로 인증서 갱신을 위해 Cron 데몬을 사용해서 스케쥴링을 구성합니다.

 

주 1회 실행 (예: 매주 월요일 새벽 3시)

sudo crontab -e

0 3 * * 1 /usr/bin/certbot renew --quiet --deploy-hook "systemctl reload nginx"

 

 

문제해결

 

Q1. 인증서 발급 시 "Timeout during connect" 에러가 발생해요

원인:
Let's Encrypt
가 인증 과정에서 웹 서버의 80, 443 포트로 접근하지 못할 때 발생합니다.

해결 방법:

  • 방화벽(ufw, firewalld )에서 80, 443 포트가 열려 있는지 확인하세요.
  • 클라우드 서비스(AWS, Azure, GCP )를 사용하는 경우 보안 그룹(Security Group) 설정도 확인하세요.

 

Q2. 도메인은 올바른데 인증서 발급이 실패해요

원인:

  • Nginx가 실행 중이지 않거나, 잘못된 서버 블록 설정으로 인증 경로(/.well-known/acme-challenge/)를 찾지 못하는 경우 발생.

해결 방법:

  • Nginx가 정상적으로 동작 중인지 확인 (sudo systemctl status nginx)
  • server_name이 정확히 도메인과 일치하는지 Nginx 설정 확인

 

감사합니다.

 

1U서버 / 2U서버 / AI서버 / alyac / APC / APC UPS / backup / carepack / centos / chakramax / cuda / DAS / DB / DB서버 / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / dell서버서버몬 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell옵션 / dell워크스테이션 / dl20 / dl20gen10 / dl20gen11 / dl360 / dl360gen10 / dl360gen11 / dl380 / dl380g10 / dl380gen10 / dl380gen11 / ECC메모리 / EDFOG랙가격 / embedded / est security / ESTSOFT / FIRMWARE / GPU / gpu서버 / gpu타워형서버 / greenlake / HA솔루션 / HP GPU / hp hdd / hpdl20 / HPDL20Gen10 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPDL380Gen10 / HPE / HPE GPU / hpe hdd / hpe rok / HPE Service Pack for Proliant / HPE SPP / hpe ssa / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / hpe서버소음 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpe옵션 / hpe정품 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz4g4 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버cto / hp서버pc / HP서버메모리 / hp서버소음 / hp서버컴퓨터 / HP서버파워 / HP서버펌웨어 / HP서버하드디스크 / hp옵션 / hp워크스테이션 / hp정품 / hp프로라이언트 / HYPER BACKUP / ibm서버 / ilo / Intelligent Provisioning / internetdisk / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ml30gen11 / ML350GEN10 / ml350gen11 / ML360 / MS CSP / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / NAS / NVIDIA / Office 365 / oneview / orange / OS설치 / PA-410 / PA-440 / paloalto / poweredger740 / poweredger750 / precision5820 / QUADRO / r240 / r250 / r340 / r360 / r440 / r550 / r650 / r660 / r740 / r750xs / r760 / r760xs / RAID / redhat / RHEL설치 / RMS랙 / rocky / s100i / securedisk / server / serverpc / smart storage administrator / SPP / sql server / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / t150 / t360 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / veeam / vroc / windows server / Windows서버설치 / XEON서버 / z8g4 / 가상서버 / 가성비서버 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델옵션 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 레이드 / 레이드구성 / 록키리눅스 / 리눅스 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 문서보안 / 문서중앙화 / 미니서버 / 미니서버랙 / 미니서버렉 / 미디어서버 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 백업 기술지원비(비용) / 백업 서버 / 백업서비스 / 백업솔루션 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 보안툴 / 빔백업 / 샤크라맥스 / 서버 / 서버 기술지원비(비용) / 서 버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버가속기 / 서버견적 / 서버교체 / 서버구매 / 서버구입 / 서버구축 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉 / 서버렉마운트 / 서버메모리 / 서버 몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버부품 / 서버엔지니어 / 서버옵션 / 서버용GPU / 서버용PC / 서버용그래픽카드 / 서버용메모리 / 서버 / 컴퓨터 / 서버용하드디스크 / 서버재고 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버판매 / 서버하드 / 서버호스팅 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 앱서버 / 오피스 365 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버2022 / 윈도우서버설치 / 윈도우서버컴퓨터 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이스트 시큐리티 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 임베디드 / 저가서버 / 저렴한서버 / 정품서버 / 정품서버옵션 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 케어팩 / 타워서버 / 타워형서버 / 팔로알토 / 페도라설치 / 프로라이언트

댓글