就在今天凌晨,letsencrypt官方发布文章,已经正式支持通配ssl证书的申请,原文链接如下。
https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579
注意
- 本教程使用的软件为acme,其他支持 ACME V2 的软件:https://letsencrypt.org/docs/client-options/
- 本教程基于 centos6,其他平台可参考。
- 目前仅支持 DNS 方式(目前支持CloudXNS、DNSpod、Cloudflare 等十多种服务商)下文以 CloudXNS 为例。
- acme官方说明:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E
上手使用
下载安装相关依赖:
yum update
yum install curl -y
yum install cron -y
yum install socat -y
下载安装 ACME.SH:
curl https://get.acme.sh | sh
进入 acme.sh 目录:
cd .acme.sh
获取CloudXns的AK/SK
(注意先把域名托管到CloudXns,或者使用其他服务商,参考此方法)
API KEY:AAAAAAAAAAAAA
SECRET KEY:SSSSSSSSSSSSS
API配置文件在下方路径
/root/.acme.sh/dnsapi/
执行签发程序
此处以我的域名为例 yekong.pl
./acme.sh --issue -d *.yekong.pl -d yekong.pl --dns dns_cx
证书获取
签发好的CSR、KEY、CERT 都在此路径下:
/root/.acme.sh/你的域名/
安装证书
以nginx为例:
listen 80;
listen 443 ssl;
server_name xxx.com;
index index.html index.htm index.php;
root /home/wwwroot/xxx.com;
ssl_certificate /root/.acme.sh/xxx.com/fullchain.cer;
ssl_certificate_key /root/.acme.sh/xxx.com/xxx.com.key;
这里不过多讲述,使用宝塔的小伙伴,可在网站设置里自定义SSL。
如何定时续签?
由于证书有效期为三个月,手动续签还是比较麻烦的。
可使用Crontab定时任务进行自动续签,后续会补充一篇关于自动续签的文章,有兴趣的小伙伴可以关注一下我的博客。
首先,此文太不严谨了!这只是内测的支持而已,官方并没有正式支持!申请通配符证书需要使用Let's Encrypt官方的支持ACMEv2协议的acme.sh脚本才可以申请到的!这点儿博主要注明的,并且发现博主使用的Let's Encrypt证书并不是通配符证书!
最近在写新的项目,证书就一直没有更换,不过目前浏览器已经信任Let's Encrypt的通配证书了,官方文中貌似没有提到是测试支持,实际上这一点我也不知道。
如果按照我文中的步骤来,获取证书还是没有问题的。
嗯,是的,现在确实已经可以申请到通配符证书了!