宝塔面板6.X-Let’s Encrypt单域名证书自动续期教程

宝塔面板6.X在Let’s Encrypt证书方面终于支持了DNS申请证书了,我们都知道宝塔面板以前只支持用文件验证的方式来申请证书,所以在自动续期方面不是太友好。到期了需要手动申请!

Let’s Encrypt唯一的缺点是证书只有90天有效期,所以实现自动续期是很多站长希望的。这个时候我们就需要用通过acme申请证书了,宝塔面板Linux平台已经跟新到了6.8.8版本了,但对于Let’s Encrypt泛域名证书的支持貌似还没有完美解决!

对于单域名证书的自动续期,宝塔面板在6.8.8已经解决了,我们可以通过DNS验证来解决。宝塔面板也是利用acme.sh来一键申请和安装letsencrypt免费SSL证书,所以宝塔面板也是安装好了acme,所以如何安装国外主机优惠这类就略过不提了。

第一:验证方式

网站管理→设置→ssl 里面,我们可以看到SSL这个功能,我们打开之后可以看到宝塔面板集成了dns验证的方式,所以我们只要用dns验证就可以解决证书自动续期的问题。如图:

在DNS验证中,宝塔提供了3个自动化DNS-API,如图:

Dnspod、阿里云DNS、CloudXns这三个可以自动验证dns,如果不是这三个我们可以用手动解析。

第二:手动解析

国外主机优惠这里用Cloudflare dns来测试。我们选择手动解析。如图:

我们需要到域名出做一个Txt解析。国外主机优惠用Cloudflare dns如下:

Cloudflare dns解析很快,几乎是秒生效。我们可以立即验证。

第三:内置的DNS接口

如果我们用内置的dnspod,那么就轻松点,只需要选择然后然后验证就可以了。

 

使用【DnsPod/阿里云DNS】接口前您需要先在弹出的窗口中设置对应接口的API,我们需要到dnspod→用户中心→安全设置 里面设置一个API Token,如图:

输入API Token和ID之后就可以验证了申请Let’s Encrypt证书了。验证时有点慢,需要等待下。

第四:申请不成功

我们有时候回申请不成功,比如国外主机优惠一开用的是dns.com家的dns来申请,但是总是不成功。如图:

不知道是什么原因,有知道的同学可以告诉国外主机优惠。

第五:检查证书是否自动续期

我们可以用手动解析或者自动化DNS-API来完成证书的申请,由此实现了Let’s Encrypt泛域名证书和自动续期。如果我们需要检查是否自动续期成功,可以在宝塔面板SSH终端中执行crontab -l命令查看,如下图:

如果在配置Let’s Encrypt证书后,使用crontab -l查看定时任务,没有发现有关ssl证书续期的脚本,我们可以在面板首页点击修复面板然后再执行这条命令,如下:

echo '9 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null' >> /var/spool/cron/root

第六:总结

宝塔面板安装了acme所以我们实现自动续期还是很容易的。所以我们正常的配置是可以实现自动续期的,但是,可能会有些灵异情况,国外主机优惠就是这样设置了,因为面板也就是刚刚推出了这个功能,所以到底能否实现自动续期还未可知。

不过国外主机优惠lnmp环境安装了acme是可以实现证书的自动续期的,宝塔面板估计是没问题。如果需要证书自动续期的朋友,可以试试宝塔面板给出的通过DNS-API这样的方式来实现证书的自动续期。

dnspod (大陆版):服务商简称dp,所需的API参数:

export DP_Id=”123456″

export DP_Key=”123456”

更多DNS支持信息请查看:https://github.com/Neilpang/acme.sh/tree/master/dnsapi