LetsEncrypt是一个免费、自动、开放的证书颁发机构。
acme.sh 实现了 acme 协议, 能够从 LetsEncrypt 生成免费的证书。html
本文介绍如何使用acme.sh来签发并自动续期LetsEncrypt免费SSL证书。git
安装acme.sh,只须要一条命令 github
curl https://get.acme.sh | sh
使用DNS方式验证 ,本文以CloudXNS为例,其余DNS服务商见文章结尾web
事实上,acme.sh支持http方式和DNS方式验证域名全部权,但考虑到有时会失效和部分用户服务器无web服务,此处使用DNS验证方式。api
登陆DNS控制台,进入API管理页面(不一样DNS服务商的页面不一样,见文章结尾),记录下API信息服务器
导入API信息到acme.sh,运行命令app
export CX_Key="1234" export CX_Secret="sADDsdasdgdsf"
[1]签发指定域名,如example.com,运行命令curl
acme.sh --issue --dns dns_cx -d example.com -d www.example.com #签发ECC证书请使用如下命令 acme.sh --issue --dns dns_cx -d example.com -d www.example.com --keylength ec-256
[2]签发泛域名,运行命令ide
acme.sh --issue --dns dns_cx -d example.com -d *.example.com #签发ECC证书请使用如下命令 acme.sh --issue --dns dns_cx -d example.com -d *. example.com --keylength ec-256
请注意,命令中export CX_Key、export CX_Secret、–dns dns_cx为CloudXNS的参数,请根据你的服务商修改阿里云
各大DNS商API获取方法请参考官方文档(本教程在第三点,阿里云在第11),以下:
https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md
https://github.com/Neilpang/acme.sh/wiki/dnsapihttps://github.com/Neilpang/acme.sh/wiki/dnsapi
签发成功!
另外有standalone生成ssl证书的方式,请参考 http://www.javashuo.com/article/p-olfrzblv-dv.html