웹사이트를 운영한다면 사용자와 서버 간 데이터를 안전하게 암호화하기 위해 HTTPS를 적용하는 것이 필수입니다.
다행히 Let's Encrypt를 이용하면 누구나 무료로 SSL 인증서를 발급받아 사용할 수 있습니다.
리눅스 서버에 Let's Encrypt를 사용해 무료 SSL 인증서를 발급받고, Nginx/Apache에 적용하는 과정을 알려드리겠습니다.
1 Certbot 설치하기
Let's Encrypt 인증서를 쉽게 관리할 수 있는 툴이 certbot
입니다.
✔ Ubuntu/Debian 계열
sudo apt update
sudo apt install certbot python3-certbot-nginx
✔ CentOS/RHEL 계열
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx
Apache를 사용 중이라면 python3-certbot-apache
를 설치하세요.
2. 포트 확인하기
인증서 발급 과정에서 인증을 위해 80, 443 포트가 열려 있어야 합니다.
방화벽 설정을 꼭 확인하세요.
✔ UFW (Ubuntu)
sudo ufw allow 'Nginx Full'
sudo ufw allow 'Apache Full'
✔ firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
3. Nginx에 SSL 인증서 발급 및 자동 설정
Nginx로 서비스 중이라면 certbot이 자동으로 설정까지 해줍니다.
sudo certbot --nginx -d example.com -d www.example.com
- -d 옵션으로 여러 도메인을 한꺼번에 등록할 수 있어요.
- certbot은 가상 호스트 설정을 자동으로 수정하여 HTTPS 설정을 완료합니다.
4. Apache에 SSL 인증서 발급 및 자동 설정
Apache를 사용 중이라면 다음 명령어로 자동 설정할 수 있습니다.
sudo certbot --apache -d example.com -d www.example.com
5. 인증서 갱신 테스트 및 자동 갱신 설정
Let's Encrypt 인증서는 유효 기간이 90일이므로, 갱신 설정이 매우 중요합니다.
✔ 수동으로 갱신 테스트
sudo certbot renew --dry-run
정상적으로 테스트가 완료되면 certbot은 cron 또는 systemd 타이머로 자동 갱신을 수행합니다.
6. 인증서 경로 확인 (참고)
발급된 인증서는 보통 아래 경로에 저장됩니다:
/etc/letsencrypt/live/example.com/fullchain.pem
/etc/letsencrypt/live/example.com/privkey.pem
필요할 경우 직접 웹 서버 설정에 경로를 지정해 수동으로 적용할 수도 있습니다.
'개발 > 리눅스' 카테고리의 다른 글
[Linux] 하드디스크, 파티션, 마운트 기본 개념 (0) | 2025.07.15 |
---|---|
[Linux] fstab 이해하고 자동 마운트 설정하기 (1) | 2025.07.14 |
[Linux] Apache 서버 설치와 설정 가이드 (2) | 2025.07.12 |
[Linux] Nginx 설치 및 기본 설정 방법 (0) | 2025.07.11 |
[Linux] iptables 기초 설정법 (0) | 2025.07.10 |