Let’s Encrypt泛域名SSL证书申请 配合DNSPOD API快速获取

在众多免费SSL证书中,可能大家使用最多的要数Let’s Encrypt。虽然每次周期只有90天,但是我们一些一键WEB安装包或者使用自己的办法可以实现提前自动续约实现永久免费使用的目的。而且Let’s Encrypt证书也被众多机构认可的。老左在之前博文中也有多次提到Let’s Encrypt证书的安装和应用。

在去年的时候,就看到有文章提到会支持泛域名解析,如果这样能实现的话确实是给用户带来福利,至少申请二级域名证书不需要每次都要重新申请,直接用泛域名SSL证书就可以。这几天看到不少的文章提到可以通过脚本申请,来自”https://github.com/Neilpang/acme.sh”的脚本可以实现多种方式的申请。

在这篇文章中,老左将演示利用DNSPOD API接口快速下发申请证书的办法。这样顺便把申请过程记录下来,以便以后需要的时候使用。

第一、安装必要的软件包

直接运行脚本会有提示”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

安装acme.sh

第三、获取DNSPOD API

1、域名解析

这里老左尝试的是采用DNSPOD API自动获取证书的方式,所以我们需要将申请证书的域名添加在DNSPOD解析。

2、创建API

获取DNSPOD API

登入DNSPOD后台,在”安全设置”中,找到上图,添加创建API。

创建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泛域名证书。整个过程只要我们上面配置没有问题,下面都是自动的。

签发证书SSL

成功申请到证书,且证书文件都被自动存放在/root/.acme.sh/对应的域名文件夹中。我们可以下载到本地保存或者是在应用证书的时候直接调用这个目录的证书。且从文档中看到这个脚本”自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书”,所以我们在部署SSL的时候直接调用默认位置,不要复制到其他目录。

第五、小结

1、通过这篇文章,我们可以快速利用DNSPOD API获取Let’s Encrypt泛域名证书。

2、而且脚本自动为了创建自动续约,方便我们在90天到期之后还需要处理续约问题。

3、这篇文章老左就分享到DNSPOD API的申请,后面有时间在分享几个其他方式的申请,比如其他常用第三方DNS,以及申请到泛解析证书后安装是否有效,这个在后面再单独文章写一篇如何安装到网站中。

发表评论

电子邮件地址不会被公开。 必填项已用*标注