虽然我用的服务器环境是 FreeBSD ,包管理器是 pkg
,如果是 Linux 也可以参考配置。
安装 certbot 和 cloudflare 插件:
$ sudo pkg install py-certbot py-certbot-dns-cloudflare
生成一个 Cloudflare API token ,限制它的使用范围到具体域名的 DNS,具体配置方法查看 https://dash.cloudflare.com/profile/api-tokens 。
在 FreeBSD 上把刚才创建的 token 保存到配置文件 cloudflare.ini:
$ vi /opt/.secrets/cloudflare.ini
配置文件的内容如下:
# Cloudflare API credentials used by Certbot
dns_cloudflare_api_token = zNa6OKLqUpOndM8dih0XUiLJloiTqtn2fO9RQy3t
最后记得要正确配置权限,禁止其他用户读取配置造成安全隐患:
$ sudo chmod 700 /opt/.secrets
$ sudo chmod 600 /opt/.secrets/cloudflare.ini
现在可以使用 certbot
自动申请证书了:
$ sudo certbot -v --duplicate certonly \
--dns-cloudflare --dns-cloudflare-credentials /opt/.secrets/cloudflare.ini \
--dns-cloudflare-propagation-seconds 60 \
-d "*.example.com" -d "example.com"