文章

利用cloudflare的API申请Let's Encrypt泛域证书

  编辑于:2018-04-25
文章目录

前言

现在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

发表回复

  • 评论2则,共1页,当前第1
    • yeji

      Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 60
      [2022年 02月 18日 星期五 09:12:47 EST] Can not init api for: https://acme-v02.api.letsencrypt.org/directory.

      写入代码后事这样

      • 可以在https://curl.se/libcurl/c/libcurl-errors.html查看一下错误码的具体信息 ,然后再处理,具体到该问题而言“远程服务器的 SSL 证书或 SSH md5 指纹被认为不正确”,可以再次重试一下。