在众多免费SSL证书中,可能大家使用最多的要数Let\’s Encrypt。虽然每次周期只有90天,但是我们一些一键WEB安装包或者使用自己的办法可以实现提前自动续约实现永久免费使用的目的。而且Let\’s Encrypt证书也被众多机构认可的。蜗牛在之前博文中也有多次提到Let\’s Encrypt证书的安装和应用。
在去年的时候,就看到有文章提到会支持泛域名解析,如果这样能实现的话确实是给用户带来福利,至少申请二级域名证书不需要每次都要重新申请,直接用泛域名SSL证书就可以。这几天看到不少的文章提到可以通过脚本申请,来自\”https://github.com/Neilpang/acme.sh\”的脚本可以实现多种方式的申请。
在这篇文章中,蜗牛将演示利用DNSPOD API接口快速下发申请证书的办法。这样顺便把申请过程记录下来,以便以后需要的时候使用。
蜗牛在博文中分享的其他关于证书文章:
1、记录Oneinstack一键环境无法更新Let\’s Encrypt证书解决笨方法
2、LNMP V1.4正式版本安装及新增Let\’s Encrypt一键安装和其他功能
3、宝塔Linux面板快速安装免费Let\’s Encrypt SSL证书且自动续约
第一、安装必要的软件包
直接运行脚本会有提示\”It is recommended to install socat first\”等错误信息,需要提前安装必备软件包。这里有参考\”https://www.cmsky.com/lets-encrypt-wildcard-ssl/\”的文章介绍。
1、Debian/Ubuntu
apt-get update && apt-get install curl -y && apt-get install cron -y && apt-get install socat -y
2、CentOS
yum update && yum install curl -y && yum install cron -y && yum install socat -y
第二、安装acme.sh
curl https://get.acme.sh | sh
第三、获取DNSPOD API
1、域名解析
这里蜗牛尝试的是采用DNSPOD API自动获取证书的方式,所以我们需要将申请证书的域名添加在DNSPOD解析。
2、创建API
登入DNSPOD后台,在\”安全设置\”中,找到上图,添加创建API。
这里弹出的界面我们需要复制且记录下信息。因为只显示一次。我们需要ID和Token。
3、输入API
export DP_Id=\”ID数字\”
export DP_Key=\”Token字符串\”
将上面的两行脚本ID和KEY分别对应我们获取的API的ID和Token,然后在SSH中帖进去输入回车。
第四、签发证书SSL
~/.acme.sh/acme.sh –issue -d laobuluo.com -d *.laobuluo.com –dns dns_dp
根据需要换成我们的域名或者是泛域名或者其他多个二级域名都可以自动获取申请Let\’s Encrypt泛域名证书。整个过程只要我们上面配置没有问题,下面都是自动的。
成功申请到证书,且证书文件都被自动存放在/root/.acme.sh/对应的域名文件夹中。我们可以下载到本地保存或者是在应用证书的时候直接调用这个目录的证书。且从文档中看到这个脚本\”自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书\”,所以我们在部署SSL的时候直接调用默认位置,不要复制到其他目录。
第五、小结
1、通过这篇文章,我们可以快速利用DNSPOD API获取Let\’s Encrypt泛域名证书。
2、而且脚本自动为了创建自动续约,方便我们在90天到期之后还需要处理续约问题。
3、这篇文章蜗牛就分享到DNSPOD API的申请,后面有时间在分享几个其他方式的申请,比如其他常用第三方DNS,以及申请到泛解析证书后安装是否有效,这个在后面再单独文章写一篇如何安装到网站中。