Notion Blog
技术分享1 分钟阅读

certbot 调用cloudflare api申请免费https证书

pip安装Certbot

获取cloudflare token

创建成功后,获得的 API 令牌需要妥善保存。随后,登录到申请 SSL 证书的服务器上,用 pip 安装 Certbot 和 certbot-dns-cloudflare 插件。

pip3 install certbot certbot-dns-cloudflare

然后执行以下命令,将 TOKEN 替换为此前获得的 API 令牌。

echo "dns_cloudflare_api_token=TOKEN" > /etc/cloudflare.ini 
chmod 0600 /etc/cloudflare.ini

完成后,直接用 Certbot 申请证书即可。将 example.com 替换为你的邮箱和域名。

certbot certonly --email [email protected] --dns-cloudflare --dns-cloudflare-credentials /etc/cloudflare.ini -d example.com,*.example.com

Debian apt-get安装

apt-get install certbot python3-certbot-dns-cloudflare

然后执行以下命令,将 TOKEN 替换为此前获得的 API 令牌。

echo "dns_cloudflare_api_token=TOKEN" > /etc/cloudflare.ini 
chmod 0600 /etc/cloudflare.ini

完成后,直接用 Certbot 申请证书即可。将 example.com 替换为你的邮箱和域名。

certbot certonly --email [email protected] --dns-cloudflare --dns-cloudflare-credentials /etc/cloudflare.ini -d example.com,*.example.com

证书位置在:/etc/letsencrypt/live/example.com/

nginx配置

 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/example.com/privkey.pem

测试自动续订

命令

certbot renew 

续订后加载nginx

certbot  renew --renew-hook '/usr/sbin/nginx -s reload'

如果需要强制更新忽略30天到期更新证书

 certbot  renew --force-renewal

定时任务更新

需要使用Linux中的cron,使用 crontab -e编辑

0 0 * * * /usr/local/certbot  renew  --renew-hook '/usr/sbin/nginx -s reload'

当前机器所有域名的证书情况命令:

certbot certificates

就可以看到当前机器所有域名的证书情况,包括域名、 到期日、证书路径、私钥路径四条信息。

有关使用上的问题,欢迎您在底部评论区留言,一起交流~

读者评论

评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。

0/1500

暂无评论,欢迎抢沙发。