https

Let's Encrypt Https인증서 자동갱신

MIN우 2024. 6. 3. 10:32
728x90

목차

· 인증서 갱신 유효기간 확인하는방법

· 90일 간 유지되는 Let's Encrypt 인증서 어떻게해야할까?

· CronTab을 이용한 자동인증서 발급

 

인증서 갱신 유효기간 확인하는 방법

인증서 만료일이 얼마나 남았는지 확인하는 방법

sudo certbot certificates

90일간 유지되는 Let's Encrypt 인증서 어떻게해야할까

Let's Encrypt는 글로벌 공인인증기관인 CA에서 인증받은 기관이며, 신뢰할 수 있는 인증서를 제공합니다.

인증서는 안전한 HTTPS 연결을 도와주는데 이용이 됩니다. 하지만 해당 인증서를 발급받게되면 90일동안만 유효하게 됩니다. 따라서 90일마다 인증서를 재발급해줘야합니다. 하지만 90일마다 재발급하는 것은 너무 번거럽고, 반복적인 작업을 해줘야 하기때문에 자동화를 시켜줘야합니다.

 

 

AutoCertificateRenew.sh

#인증서 재발급

sudo certbot certonly --manual --preferred-challenges dns \
-d "api.webbizcraft.shop" --agree-tos --register-unsafely-without-email \
--manual-auth-hook "$HOOK_RENEWAL" --manual-cleanup-hook "$HOOK_CLEANUP" \
--manual-public-ip-logging-ok --force-renewal

# deploy.sh 스크립트 실행
/home/ubuntu/mobileapp/deploy.sh

 

-- manual: 수동모드 사용

-- preferred-chaalenges dns: DNS 검증 방식을 사용합니다. DNS TXT레코드를 추가해야합니다.

-- agree-tos: 서비스 약관에 동의

-- register-unsafely-without-email: 이메일 주소 없이 계정을 등록합니다. 보안 상 권장하진 않지만

이메일 주소를 제공하지 않을 때 사용

--manual-auth-hook "$HOOK_RENEWAL": 인증서 갱신 시 실행할 스크립트를 지정합니다. $HOOK_RENEWAL은 갱신 시 실행할 스크립트의 경로입니다.

--manual-cleanup-hook "$HOOK_CLEANUP": 인증서 갱신 후 정리 작업을 위해 실행할 스크립트를 지정합니다. $HOOK_CLEANUP은 정리 작업을 위한 스크립트의 경로입니다

--manual-public-ip-logging-ok: 공개 IP 로그를 허용합니다. Certbot은 인증서 발급 과정에서 IP 주소를 기록할 수 있습니다.

--force-renewal: 이미 유효한 인증서가 있더라도 강제로 갱신합니다.

 

인증서가 재발급이 된 이후 Nginx를 reload시켜 인증서가 제대로 적용될 수 있도록해줍니다.

 

CronTab을 이용한 자동인증서 발급

crontab -e
0 0 1 */2 * /home/ubuntu/mobileapp/AutoCertificateRenew.sh

 

를 이렇게 설정하게되면 0 0 1 */2 *: 매 두 달마다 1일 0시에 해당 AutoCertificateRenew.sh를 자동으로 실행하게되고

90일마다 인증서를 재갱신해야하는 불필요한 일을 줄일 수 있습니다.

 

 

쀼슝~

728x90