说明:宝塔面板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。
# G( I. c% H; {" E" i% f* l操作方法: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( o$ J8 ?6 x% K. v+ |
$ z$ z) B# y6 W2、回到你的VPS,输入下面代码。DP_Id=””中请填写你的ID,DP_Key=””中请填写Token。
/ c. S0 S1 \" G) Q- 腾讯云:% k0 U$ L0 A+ d0 @" w
- export DP_Id="1234"# d! V J5 F" n1 Z. M
- export DP_Key="sADDsdasdgdsf"
( ~9 v# j* c: e- c0 A8 D3 D- Q - 阿里云:
: x9 M( u3 Q2 s, n - export Ali_Key="123456"% U/ a' j; H# b2 }" Y! V. e7 D
- 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
, x# z; t) i. M+ W1 e& u' u5 { - /root/.acme.sh/n56.org/i4cu.cn.key" j8 i4 Q! P& {' e, ~1 H9 C) q0 t
- /root/.acme.sh/n56.org/ca.cer$ ~. @" x8 e; d% Z4 I7 X
- /root/.acme.sh/n56.org/fullchain.cer
复制代码5、到此完成了所有操作,实现了Let’s Encrypt泛域名证书和自动续期。检查是否自动续期成功,可以在宝塔面板SSH终端中执行crontab -l命令查看,如下图:
( K w+ _) w3 u$ G1 b0 v如果出现以上内容说明自动续期已设置,如果没有任何内容,也可以手动添加。宝塔面板——计划任务——Shell脚本:acme.sh --renew -d example.com -d *.example.com --force。 " h% u+ ]% o- x3 m
|