说明:宝塔面板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。3 V2 s$ n+ X' ~7 @ f' b5 ]+ _+ S
操作方法: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
7 b7 F0 u/ K$ W3 B8 i' \2 k
1 l5 |, b1 B& m2、回到你的VPS,输入下面代码。DP_Id=””中请填写你的ID,DP_Key=””中请填写Token。
( ^4 n& D1 X& Y$ R1 M6 N4 R. V+ f- 腾讯云:
/ F7 b" K+ m5 }* I - export DP_Id="1234"3 j1 c9 D2 e# m3 d2 a
- export DP_Key="sADDsdasdgdsf"- \' C$ v7 f! R7 W% N/ j% F
- 阿里云:7 q0 E# {3 ^! R9 Z( G* B: o& }0 b
- export Ali_Key="123456"
* J9 Y1 Y- Z4 c1 _ - 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
9 P! v& X5 b* v5 U3 S. N - /root/.acme.sh/n56.org/i4cu.cn.key% F1 ?0 `" i! x6 ^: W
- /root/.acme.sh/n56.org/ca.cer
3 U, K8 ^ }, W$ x7 X - /root/.acme.sh/n56.org/fullchain.cer
复制代码5、到此完成了所有操作,实现了Let’s Encrypt泛域名证书和自动续期。检查是否自动续期成功,可以在宝塔面板SSH终端中执行crontab -l命令查看,如下图: 1 s+ i* R; s+ U+ I/ ]0 N
如果出现以上内容说明自动续期已设置,如果没有任何内容,也可以手动添加。宝塔面板——计划任务——Shell脚本:acme.sh --renew -d example.com -d *.example.com --force。 & Y5 `6 b0 N5 Q, @
|