前言
现在Let's Encrypt已经开放了泛域的SSL证书申请。申请泛域的SSL证书必须要验证DNS解析才可以,可以通过手动添加DNS记录的方式来申请,也可以通过使用API自动添加DNS记录的方式来申请,这里记录一下利用cloudflare的API申请Let's Encrypt泛域证书的过程。
申请证书
获取cloudflare的API
首先获取cloudflare账户API的TOKEN。
登录到cloudflare账户,然后查看My Profile,点击Global API Key的View API Key,输入密码,保存KEY。
安装amce.sh
安装仅需要一条命令即可。
以下命令可以在任意linux主机执行,无需将域名的A记录指向它。
apt-get install socat -y curl https://get.acme.sh | sh
申请证书
注意,因此acme的目录名前有一个.
所以默认是看不到acme的目录的,可以通过以下命令进入acme目录。
cd .amce.sh
设置cloudflare api。
export CF_Key="刚刚保存下来的KEY" export CF_Email="cloudflare的注册邮箱"
然后申请证书即可。
acme.sh --issue --dns dns_cf -d *.你的域名.com -d 你的域名.com
现在证书,私钥都可以在/root/.acme.sh/*.你的域名.com
目录查看了。
更多nameserver服务商的API使用文档请见:https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md
更多的使用方法请见:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E