웹서버를 운영하고 있거나, 홈페이지형 블로그를 운영하시는 분들은 https에 사용하는 보안 인증서가 필수 입니다. 보안인증서는 3개월마다 만료되어 재발급 받아야 합니다. 이 글에서는 let's encrypt를 통해 https 보안 인증서를 재발급 받는 방법에 대해서 설명합니다.
Table Of Contents
let's encrypt 인증서 갱신하기
보안 인증서는 3개월마다 만료됩니다. 그러므로 매 3개월 마다 재발급을 받아 주어야 합니다. 안 그러면 인증서 만료로 https를 사용할 수 없습니다.
리눅스에서 Let's Encrypt 보안 인증서를 재발급받으려면 Certbot을 사용하는 것이 일반적입니다.
Certbot은 Let's Encrypt에서 제공하는 무료 보안 인증서 발급 및 관리 도구입니다.
다음은 Certbot을 사용하여 보안 인증서를 재발급받는 방법입니다:
1. Certbot이 설치되어 있지 않다면, 먼저 설치해야 합니다.
- Ubuntu의 경우, 다음과 같은 명령을 사용하여 설치할 수 있습니다:
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python-certbot-apache
- CentOS의 경우, 다음과 같은 명령을 사용하여 설치할 수 있습니다:
sudo yum install certbot python-certbot-apache
2. Certbot이 이미 설치되어 있다면, 다음 명령을 사용하여 인증서를 갱신(재발급)할 수 있습니다:
sudo certbot renew
이 명령은 인증서가 만료되기 30일 전에는 갱신을 시도하지 않습니다.
즉시 갱신을 시도하려면 '--force-renewal' 옵션을 붙여주세요:
sudo certbot renew --force-renewal
참고로 Certbot은 자동 갱신 설정도 지원합니다. 이를 설정하면 인증서를 수동으로 갱신할 필요가 없어집니다.
자동 갱신을 설정하려면 다음 명령을 사용하세요:
sudo certbot renew --dry-run
인증서 강제 갱신하기
저의 경우, 인증서가 아직 갱신 기간이 아니라서 갱신이 시도되지 않았다는 메시지가 보입니다.
sudo certbot renew --force-renewal
그러나 이 명령은 주의해서 사용해야 합니다. sudo certbot renew --force-renewal --post-hook "systemctl reload nginx"
위의 명령은 인증서를 갱신한 후 Nginx를 재시작합니다.
이렇게 하면, 인증서가 갱신되자마자 Nginx에서 새 인증서를 사용할 수 있습니다.
아래와 같이 강제 갱신해 주었습니다.
(base) eddy_lee@instance-1:~$ sudo certbot renew --force-renewal --post-hook "systemctl reload nginx"
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/ai.2story.org.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Plugins selected: Authenticator nginx, Installer nginx
Renewing an existing certificate
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of nginx server; fullchain is
/etc/letsencrypt/live/ai.2story.org/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/vs.2story.org.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Plugins selected: Authenticator nginx, Installer nginx
Renewing an existing certificate
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of nginx server; fullchain is
/etc/letsencrypt/live/vs.2story.org/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/yt.2story.org.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Plugins selected: Authenticator nginx, Installer nginx
Renewing an existing certificate
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of nginx server; fullchain is
/etc/letsencrypt/live/yt.2story.org/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/ai.2story.org/fullchain.pem (success)
/etc/letsencrypt/live/vs.2story.org/fullchain.pem (success)
/etc/letsencrypt/live/yt.2story.org/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Running post-hook command: systemctl reload nginx
'리눅스&OS' 카테고리의 다른 글
tcp 네트워크 timer를 통해 리눅스 커널에서 소켓 끊는 현상 확인하기 (0) | 2024.01.05 |
---|---|
nginx용 docker 이미지 무식하게 만들기 (0) | 2023.12.05 |
Ubuntu(우분투 20.04)에서 Docker를 사용하기 (from Docker hub) (0) | 2023.12.05 |
리눅스 커널(linux kernel) 버전 정보 확인 uname | version | hostnamectl (0) | 2023.11.23 |
구글 클라우드 서버(GCP)에 Docker 설치하고 web 서버 이미지 실행하기 (0) | 2023.11.22 |