使用 certbot 自動更新 Let`s encrypt 的 SSL 憑證

 

以前寫的是手動更新的方式 – 申請 Let’s Encrypt 憑證 – 使用 SSL For Free

Let`s encrypt 的免費 SSL 憑證,有效期間只有三個月,certbot 就是要幫忙解決這個問題,從三個月手動更新,變成是 crontab 排程自動更新。

這裡以 RHEL8 為例

下載 certbot

# wget https://dl.eff.org/certbot-auto
--2020-05-05 09:28:54--  https://dl.eff.org/certbot-auto
Resolving dl.eff.org (dl.eff.org)... 151.101.76.201, 2a04:4e42:12::201
Connecting to dl.eff.org (dl.eff.org)|151.101.76.201|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 80073 (78K) [application/octet-stream]
Saving to: ‘certbot-auto’

certbot-auto                     100%[==========================================================>]  78.20K  --.-KB/s    in 0.09s

2020-05-05 09:28:55 (851 KB/s) - ‘certbot-auto’ saved [80073/80073]

# chmod 755 /root/certbot-auto
#
# ls -l /root/certbot-auto
-rwxr-xr-x. 1 root root 80073 May  5 07:54 /root/certbot-auto


/root/certbot-auto certonly –apache –d <FQDN>【如果有缺套件,會先安裝RPM套件】

-d 如果有問題,改成 –domain

/root/certbot-auto certonly –apache –domain <FQDN>

image

相關檔案會放在一個 FQDN 的目錄下

/etc/letsencrypt/live/<FQDN>

image

修改設定檔,將相關檔案,通通指向這個目錄下的檔案

87:SSLCertificateFile /etc/letsencrypt/live/<FQDN>/cert.pem
97:SSLCertificateKeyFile /etc/letsencrypt/live/<FQDN>/privkey.pem
107:SSLCertificateChainFile /etc/letsencrypt/live/<FQDN>/chain.pem
114:SSLCACertificateFile /etc/letsencrypt/live/<FQDN>/fullchain.pem

 

image

重新啟動 apache

systemctl restart httpd

使用 https 瀏覽網站,certficate 應該已經更新了!

再來是排程自動更新,先寫個 shellscripts

#!/bin/bash
# 2020.5.5 Tue Version 0.0.1
#              Anderson Wang
#              使用 certbot 更新 certificate
/root/certbot-auto renew
sleep 5
systemctl restart httpd

 

設定排程

crontab -e

3 3 * * 0 /root/shellscripts/auto-renew-cert.sh

每個星期檢查一次,如果還沒到期,就不更新,如果快要到期了,才會更新!

 

最後,檢查 SSL – SSL Checker

本篇發表於 CentOS 8, Linux, RHEL 8。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s