宝塔面板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