Certbot 是一個免費的開源工具,可自動使用 Let's Encrypt 證書來部署在網頁上,便可以開啟 HTTPS。
Certbot 是跨平台的命令列工具,以下操作以 Ubuntu 進行,Windows 版本可參考這篇文章。
apt install certbot
# 安裝成功後可測試指令
certbot --version
# certbot 0.31.0
certbot -d lab.yucheng.me --preferred-challenges dns --manual certonly
-d
: 設定 domain name。--preferred-challenges
: 設定「http 驗證」或「dns 驗證」,此範例使用 dns 驗證,預設為 http 驗證,可參考文章 [1][2]。--manual
: 手動模式,代表要部署的主機不是目前這台,可能是其他主機。certonly
: 只產生證書,不負責設定 http server,相反的如果沒有設定這個代表 certbot 將自動設定 http server。certbot certificates
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Found the following certs:
# Certificate Name: example.com
# Domains: example.com
# Expiry Date: 2021-12-01 17:41:44+00:00 (VALID: 89 days)
# Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem
# Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
certbot renew --dry-run
<aside>
💡 如果註冊證書時使用 --manual
參數就無法使用自動更新證書功能。關於如何使用 dns 自動更新,可以參考文章 [3][4],或是使用 crontab
排程自動更新。
</aside>