说明
宝塔面板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。
操作
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
wthqjgdspn.jpg
2、回到你的VPS,输入下面代码。DP_Id=””中请填写你的ID,DP_Key=””中请填写Token。
腾讯云:
export DP_Id=”1234″
export DP_Key=”sADDsdasdgdsf”
阿里云:
export Ali_Key=”123456″
export Ali_Secret=”abcdef”
3、输入下面命令申请免费SSL证书。其中代码中的“52loi.com”请改成自己域名即可。
~/.acme.sh/acme.sh –issue –dns dns_ali -d 52loi.com -d *.52loi.com
4、最后在VPS里通过下面目录查看或下载证书文件即可。不知道怎么下载VPS服务器内的文件?使用sftp协议登录进行下载!比如宝塔面板使用到的一般是fullchain.cer和52loi.com.key,如果只需里面的内容,我们只要使用记事本打开fullchain.cer和52loi.com.key就可以了。
/root/.acme.sh/n56.org/52loi.com.cer
/root/.acme.sh/n56.org/52loi.com.key
/root/.acme.sh/n56.org/ca.cer
/root/.acme.sh/n56.org/fullchain.cer
5、到此完成了所有操作,实现了Let’s Encrypt泛域名证书和自动续期。检查是否自动续期成功,可以在宝塔面板SSH终端中执行crontab -l命令查看,如下图:
8-5.jpg
如果出现以上内容说明自动续期已设置,如果没有任何内容,也可以手动添加。宝塔面板——计划任务——Shell脚本:acme.sh –renew -d example.com -d *.example.com –force。
服务商名称
cloudxns
服务商简称
cx
所需API参数
export CX_Key=”123456″
export CX_Secret=”abcdef”
服务商名称
dnspod (cn大陆版)
服务商简称
dp
所需API参数
export DP_Id=”123456″
export DP_Key=”abcdef”
服务商名称
aliyun
ali
export Ali_Key=”123456″
export Ali_Secret=”abcdef”
服务商名称
cloudflare
cf
export CF_Key=”123456″
export CF_Email=”abc@example.com”
服务商名称
linode
linode
export LINODE_API_KEY=”123456″
服务商名称
he
he
export HE_Username=”username”
export HE_Password=”password”
服务商名称
digitalocean
dgon
export DO_API_KEY=”123456″
服务商名称
namesilo
namesilo
export Namesilo_Key=”123456″
服务商名称
aws
aws
export AWS_ACCESS_KEY_ID=123456
export AWS_SECRET_ACCESS_KEY=abcdef
服务商名称
namecom
namecom
export Namecom_Username=”username”
export Namecom_Token=”123456″
服务商名称
freedns
freedns
export FREEDNS_User=”username”
export FREEDNS_Password=”password”
服务商名称
godaddy
gd
export GD_Key=”123456″
export GD_Secret=”abcdef”
服务商名称
yandex
yandex
export PDD_Token=”abcdef”