安装

官方推荐通过 snap 进行安装

# 安装
sudo snap install --classic certbot
# 创建软链接
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# 安装对应的 DNS 插件
snap install certbot-dns-cloudflare

命令

  • -d: 域名列表
  • certificates: 显示生成的所有证书信息
  • revoke: 撤销证书
  • delete: 删除证书

运行

自动验证

在 ~/.secrets/certbot 创建 cloudflare.ini, 内容如下

dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567

内容为 Cloudflare Token.

申请证书

泛域名申请

certbot certonly \
  --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
  -d *.immwind.com
  -d immwind.com

单域名申请

# 申请证书
sudo certbot certonly --standalone
# 回车后需要输入邮箱和域名

证书默认保存在: /etc/letsencrypt/live/<YOUR.DOMAIN.COM/> 目录下。

定时执行

安装文档中的说明,会在证书过期之间自动续订, 可通过以下命令验证:

sudo certbot renew --dry-run

可通过以下命令查看

  • crontab 命令: crontab -l
  • systemctl 命令: systemctl list-timers
  • /etc/cron./

通过 certbot 申请的证书默认 90 天过期,可以通过创建#定时任务 进行自动化更新:

# 编辑定时任务
crontab -e
 
0 0 1 * * /usr/bin/certbot renew --force-renewal
5 0 1 * * /usr/bin/docker restart gost

参考