今天凌晨,跳票了几次的Let's Encrypted泛域名证书终于正式上线!
今天起,你再也不用到处去找或者购买泛域名证书
Let's Encrypted提供的泛域名证书跟其之前提供的单域名证书一样,90天续期一次,但是有一点不同的是,其泛域名证书的申请需要通过ACME V2来申请
官方发布:https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579
支持ACME的客户端:https://letsencrypt.org/docs/client-options/
注意事项
本教程基于CentOS6,基于DNS方式进行签发(泛域名必须以DNS方式签发,其他的可以用HTTP方式签发)
已经通过本人签发测试
我以阿里云DNS为例进行签发,其他的DNS请参考(基本都是相同的操作):https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md
以下是教程
1、下载ACME.SH
1 |
yum -y install curl cron socat |
1 |
curl https://get.acme.sh | sh |
或者
1 |
wget -O - https://get.acme.sh | sh |
其他安装方法:https://github.com/Neilpang/acme.sh/wiki/How-to-install
安装完成后在根目录生成 .acme文件夹
会自动添加一条定时任务(官方解释:自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。),使用crontab -l 查看。
2、获取Aliyun的Access Key ID和Access Key Secret
获取地址:https://ak-console.aliyun.com/#/accesskey
再SSH里输入:
1 2 |
export Ali_Key="你的Access Key ID" export Ali_Secret="Access Key Secret" |
DNS提供商 | DNS简称 | API参数 | 获取API参数 |
---|---|---|---|
cloudflare | cf | export CF_Key=key export CF_Email=admin@example.com |
访问链接 |
dnspod | dp | export DP_Id=id export DP_Key=key |
访问链接 |
cloudxns | cx | export CX_Key=key export CX_Secret=secret |
访问链接 |
godaddy | gd | export GD_Key=gdkey export GD_Secret=gdsecret |
访问链接 |
aws | aws | export AWS_ACCESS_KEY_ID=aws123 export AWS_SECRET_ACCESS_KEY=awskey |
访问链接 |
aliyun | ali | export Ali_Key=key export Ali_Secret=secret |
访问链接 |
Linode | linode | export LINODE_API_KEY=linodekey | 访问链接 |
freedns | freedns | export FREEDNS_User=user export FREEDNS_Password=password |
freedns用户名密码 |
he | he | export HE_Username=username export HE_Password=password |
he用户名密码 |
namesilo | namesilo | export Namesilo_Key=namesilokey | 访问链接 |
digitalocean | dgon | export DO_API_KEY=dgonkey | 访问链接 |
namecom | namecom | export Namecom_Username=username export Namecom_Token=token |
访问链接 |
更多参考:https://github.com/Neilpang/acme.sh/tree/master/dnsapi
3、开始签发,以域名ladn.cn为例
1 |
~/.acme.sh/acme.sh --issue --dns dns_ali -d ladn.cn -d *.ladn.cn |
签发过程如下,全自动进行,切记要输入ladn.cn这个域名,否则签发下来的证书用在ladn.cn上会提示证书错误
另一种签发方式
1 2 |
~/.acme.sh/acme.sh --issue --server https://acme-v02.api.letsencrypt.org/directory --dns dns_ali -d guoyangxian.com -d *.guoyangxian.com #裸域名和泛域名一同申请了,并且明确指明申请的是wildcard证书 |
注:如果已经安装宝塔面板(面板默认安装acme),按照上面输入API参数,然后执行下面的命令。
1 2 3 |
# yum install -y socat //安装必要组件 # cd ~/.acme.sh # ./acme.sh --upgrade --auto-upgrade //自动升级 |
使用上面的签发方式生成的证书会自动保存到/www/server/panel/vhost/cert/目录,然后在面板域名配置文件中修改证书引用路径,只使用domain.key、fullchain.cer这两个文件。
4、获取证书
从第三步我们可以看到签发下来证书存放的位置,以ladn.cn为例
1 |
/root/.acme.sh/ladn.cn/ |
其实我们只需要下面两个文件
fullchain是完整的证书,包括了CA根证书
key是密钥,安装证书时需要用到
其他单域名证书的签发方法与此类似
续签问题
安装了ACME后,它会添加一个自动任务到你服务器的Cron里,每天都会检查你的证书是否快要过期,ACME会自动帮你续签
证书详情
文章参考:
https://oneinstack.com/faq/letsencrypt/
文章评论