说明:宝塔面板Linux平台的6.x版本已经发布,但对于Let’s Encrypt泛域名证书的支持貌似还没有完美解决,例如阿里云的DNS就不支持泛域名证书申请,笔者通过宝塔面板6.21测试几次都失败了。泛域名是类似*.zhanzhangb.com这样的域名证书,Let’s Encrypt官方早已经宣布支持了,LNMP已经在去年发布的1.4版中支持一键申请与自动续期。Let’s Encrypt是免费SSL证书中最棒的,也是站长帮网站采用的证书(LNMP1.5一键申请的Let’s Encrypt泛域名证书),同时也极力推荐给各位站长。Let’s Encrypt唯一的缺点是证书只有90天有效期,所以实现自动续期是很多站长希望的。宝塔面板预计后续会提供吧,目前宝塔面板通过文件验证方式申请Let’s Encrypt单域名证书并自动续期是没问题的。本文将介绍一种方式在宝塔面板中实现Let’s Encrypt泛域名证书申请及自动续期,其实宝塔面板已经安装了acme.sh,所以安装acme.sh的步骤可以跳过。通过acme申请Let’s Encrypt证书支持的域名DNS服务商有以下这些(国内用户较多的):cloudxns、dnspod、aliyun(阿里云)、cloudflare、linode、he、digitalocean、namesilo、aws、namecom、freedns、godaddy、yandex。
- C& F! ]# s% Z9 c2 V" H操作方法:1、下面以腾讯云为例方法很简单,如果是腾讯云注册的域名,默认使用的是DNSPod.cn,没有DNSPod.cn账号的朋友可以先注册一个账号,然后把要申请免费证书的域名接入到DNSPod,并使用DNSPod的NS服务器进行解析。然后再按下图操作创建API。创建API后需要注意,弹出的窗口显示完整的“Token”,并且只显示这一次,所以请一定复制保存好,查看Id和Key,网址是:https://www.dnspod.cn/console/user/security陆阿里云是查看API KEY和SECRTET KEY,网址是:https://ak-console.aliyun.com/#/accesskey" d. G Z$ I1 I) S
1 J" U% d$ @+ w& [8 W# t3 s2、回到你的VPS,输入下面代码。DP_Id=””中请填写你的ID,DP_Key=””中请填写Token。' o. i5 M! H" x: o
- 腾讯云:
3 Q% Y( o6 z/ [- P( b# _3 B p - export DP_Id="1234"
0 o) B! [+ v3 P5 O- p; O - export DP_Key="sADDsdasdgdsf"8 K* y& y. p, x$ W& R5 a
- 阿里云:. k. p* ?2 y/ z: V/ \" _) E9 S
- export Ali_Key="123456"( m5 u6 T k n7 Y D. K
- export Ali_Secret="abcdef"
复制代码3、输入下面命令申请免费SSL证书。其中代码中的“i4cu.cn”请改成自己域名即可。 - ~/.acme.sh/acme.sh --issue --dns dns_dp -d i4cu.cn -d *.i4cu.cn
复制代码4、最后在VPS里通过下面目录查看或下载证书文件即可。不知道怎么下载VPS服务器内的文件?使用sftp协议登录进行下载!比如宝塔面板使用到的一般是fullchain.cer和i4cu.cn.key,如果只需里面的内容,我们只要使用记事本打开fullchain.cer和i4cu.cn.key就可以了。 - /root/.acme.sh/n56.org/i4cu.cn.cer
! L. Q0 u& \9 k0 B( ]4 H - /root/.acme.sh/n56.org/i4cu.cn.key
5 l. p* D: ]) E' l7 c - /root/.acme.sh/n56.org/ca.cer
# N1 @4 n4 ] e- s" l - /root/.acme.sh/n56.org/fullchain.cer
复制代码5、到此完成了所有操作,实现了Let’s Encrypt泛域名证书和自动续期。检查是否自动续期成功,可以在宝塔面板SSH终端中执行crontab -l命令查看,如下图: 
- }' O: q( I( N! } ]如果出现以上内容说明自动续期已设置,如果没有任何内容,也可以手动添加。宝塔面板——计划任务——Shell脚本:acme.sh --renew -d example.com -d *.example.com --force。 : O4 t+ M$ g, W
|