今天听说let's encrypt的泛域名野卡证书正式上线了,测试了那么久....
本以为是有生之年系列,不过能赶上还是美滋滋的 太开心.png
泛域名证书就比单域名证书方便的多了,一次签发所有子域名通用 只需要担心续期问题就行了
这里我用的是acme.sh自动签发的
Github:https://github.com/Neilpang/acme.sh
官方中文说明:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

开始配置:

1.安装acme.sh

安装很简单 一个命令就搞定了

curl  https://get.acme.sh | sh

安装成功后就自动吧acme安装进了用户目录下的.acme目录中了,并且自动把acme.sh添加进了用户环境中,可以很方便的直接使用acme.sh命令。

2.获取证书

这里我使用dns自动验证方式验证域名所有权
acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成
具体可参考官方文档:https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

由于我的dns解析使用的CloudXNS 所以可以直接在我的CloudXNS 设置中获取dns api
获取自己的dns api就可以进行配置了

export CX_Key="1234"
export CX_Secret="sADDsdasdgdsf"

配置好dns api后使用下面的命令 来获取证书(请替换ffis.me为自己的域名)

acme.sh   --issue   --dns dns_cx  -d ffis.me -d *.ffis.me

需要注意的是第一个 -d 后不可直接写通配符域名*.xx.com,一定要写个单域名,第二个 -d 后面可以写泛域名。
否则可能会出现签发的证书无法被信任的情况。

到这里我们的证书就自动获取到用户目录下的.acme.sh文件夹下了,建议将证书文件复制到其他目录使用,
可用以下命令自动复制到指定目录:

acme.sh  --installcert  -d  ffis.me   \
        --key-file   /usr/local/nginx/conf/ssl/ffis.me/*.ffis.me.key \
        --fullchain-file /usr/local/nginx/conf/ssl/ffis.me/*.ffis.me.cer \
        --reloadcmd  "service nginx force-reload"

该命令会被自动记录的 以后自动更新证书的时候也会自动执行该命令的

PS:acme.sh会在60天以后自动更新证书