Certbot

 

2022-12-23

SSL 证书申请

安装

官方推荐通过 snap 进行安装

Terminal window
1
# 安装
2
sudo snap install --classic certbot
3
# 创建软链接
4
sudo ln -s /snap/bin/certbot /usr/bin/certbot
5
# 安装对应的 DNS 插件
6
snap install certbot-dns-cloudflare

命令

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

运行

自动验证

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

1
dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567

内容为 Cloudflare Token.

申请证书

泛域名申请

Terminal window
1
certbot certonly \
2
--dns-cloudflare \
3
--dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
4
-d *.immwind.com
5
-d immwind.com

单域名申请

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

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

定时执行

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

Terminal window
1
sudo certbot renew --dry-run

可通过以下命令查看

  • crontab 命令: crontab -l

  • systemctl 命令: systemctl list-timers

  • /etc/cron./

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

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

参考