怎样使用Certbot签发和续期证书

2020年7月21日 | 分类: 【技术】

【介绍】

参考:https://amon.org/le

【排错】

Certbot进行证书续期时报错:An authentication script must be provided with –manual-auth-hook

参考:https://learnku.com/articles/16996/certbot-application-for-https-certificate-renewal-error-reporting-solution

因为验证域名所有者失败,没有指定 –manual-auth-hook 参数。Let’s Encrypt 有多种验证方式,常用的有 http 和 dns 方式。dns 方式就是创建 TXT 记录。
Alone 根据 DNSPod 提供的 API 写了一个脚本,解决了这个问题。

1. 安装 Certbot DNS Authenticator For DNSPod

cd /usr/local/nginx/ssl/
wget https://raw.githubusercontent.com/al-one/certbot-auth-dnspod/master/certbot-auth-dnspod.sh
chmod +x certbot-auth-dnspod.sh

2. 获得API

申请网址:https://www.dnspod.cn/console/user/security

名称: certbot
ID:888888
Token:fce79d8c1d2e32978fde3c2dc2297027
创建时间: 2020-02-02 02:02:02

编辑 certbot-auth-dnspod.sh ,第 36 行:

    API_TOKEN="fce79d8c1d2e32978fde3c2dc2297027"

3. 续签

./certbot-auto renew --manual-auth-hook /usr/local/nginx/ssl/certbot-auth-dnspod.sh

python: command not found的解决方法

参考:https://amon.org/python
参考:https://amon.org/pip
参考:https://www.jianshu.com/p/b8ca94730e89

yum install python2 && ln -s /usr/bin/python2 /usr/bin/python

检查系统CA证书是否存在

CentOS 系统:

sudo curl https://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt 

Debian/Ubuntu系统:

sudo apt-get install --reinstall ca-certificates