一、certbot安装
基于centos的安装
sudo yum updatesudo yum install epel-releasesudo yum install certbot -y二、下载自动脚本
脚本GITHUB地址 点击这里
脚本直接下载地址 点击这里
1. 解压脚本文件
直接解压下载的文件
unzip certbot-letencrypt-wildcardcertificates-alydns-au-master.zip如果没有unzip需要运行一下
unzip install unzip2. 更改文件权限
进入解压后的文件夹后文件列表如下
-rw-r--r-- 1 root root 7961 Feb 13 2020 README.md
-rwxr-xr-x 1 root root 2726 Dec 11 02:52 au.sh
-rw-r--r-- 1 root root 80 Feb 13 2020 domain.ini
drwxr-xr-x 1 root root 68 Feb 13 2020 php-version
drwxr-xr-x 1 root root 80 Feb 13 2020 python-version修改au.sh文件权限
chmod 0777 au.sh3. 查询域名后缀
查询domain.ini文件中是否有需要申请域名的后缀
4. 修改阿里云(或者其他)appid
编辑au.sh修改对应的key和token
vi au.sh这里有阿里云、腾讯云、GoDaddy应该是够用了
#PHP 命令行路径,如果有需要可以修改
phpcmd="/usr/bin/php"
#Python 命令行路径,如果有需要可以修改
pythoncmd="/usr/bin/python"
#填写阿里云的AccessKey ID及AccessKey Secret
#如何申请见https://help.aliyun.com/knowledge_detail/38738.html
ALY_KEY="xxxxxxxxxx"
ALY_TOKEN="xxxxxxxxxx"
#填写腾讯云的SecretId及SecretKey
#如何申请见https://console.cloud.tencent.com/cam/capi
TXY_KEY=""
TXY_TOKEN=""
#填写华为云的 Access Key Id 及 Secret Access Key
#如何申请见https://support.huaweicloud.com/devg-apisign/api-sign-provide.html
HWY_KEY=""
HWY_TOKEN=""
#GoDaddy的SecretId及SecretKey
#如何申请见https://developer.godaddy.com/getstarted
GODADDY_KEY=""
GODADDY_TOKEN=""三、开始申请
申请脚本demo如下
certbot certonly -d *.example.com -d example.com --manual --preferred-challenges dns --manual-auth-hook "/脚本目录/au.sh python aly add" --manual-cleanup-hook "/脚本目录/au.sh python aly clean"脚本后的参数解释
第一个代表你要选择那种语言(php/python)
第二个参数代表你的DNS厂商(aly/txy)
命令厚的参数解释
certonly:表示采用验证模式,只会获取证书,不会为web服务器配置证书
--manual:表示插件
--preferred-challenges dns:表示采用DNS验证申请者合法性(是不是域名的管理者)
--dry-run:在实际申请/更新证书前进行测试,强烈推荐
-d:表示需要为那个域名申请证书,可以有多个。
--manual-auth-hook:在执行命令的时候调用一个 hook 文件
--manual-cleanup-hook:清除 DNS 添加的记录
四、自动续费
添加crontab
#证书有效期<30天才会renew,所以crontab可以配置为1天或1周
1 1 */1 * * root certbot renew --manual --preferred-challenges dns --manual-auth-hook "/脚本目录/au.sh python aly add" --manual-cleanup-hook "/脚本目录/au.sh python aly clean"