acme.sh - 极力推荐的 Let's Encrypt 工具
为什么使用它?
在 Let's Encrypt 证书申请实测 和 签发 Let's Encrypt ECC 证书 这两篇博文里,我小小地研究了 Let's Encrypt 证书的申请和使用。而刚发现的 acme.sh 这个 Shell 脚本则极大地方便了我们的使用,使签发证书顺畅无比。因此,在任何情况下,都应该使用 acme.sh
来签发和更新证书。比官方的全家桶高到不知道哪里去了。
acme.sh
安装十分方便,只需要一行命令:
curl https://get.acme.sh | sh
安装好后就可以签发证书了,支持多种验证方式: Standalone, Apache, Webroot 和 DNS 方式。其中我使用的是 DNS 方式,理由是方便配置,且不会影响到现有的服务。
选择验证方式
我使用的 DNS 服务商是 Cloudflare,acme.sh
支持对它的全自动配置和验证。使用起来也很方便:
- 在 Cloudflare 网站上获取自己的
API Key
,记下后运行如下命令:
export CF_Key="your_api_key"
export CF_Email="you@example.com"
搞定。
签发 ECC 证书
这个脚本同时支持签发 ECC 证书,依然十分简单:
acme.sh --issue --dns dns_cf -d yoursite1.com -d yoursite2.com --keylength ec-384
这是我的情况(使用 Cloudflare DNS 自动配置、签发 ECDSA P-384 椭圆曲线证书、证书包含两个域名),根据情况不同还需要使用者自行微调。
等一段时间就签发完毕了,签发好的证书存在 ~/.acme.sh/yoursite.com
下。这个脚本替你完成了所有的工作,接下来只要导入到 Apache
或 Nginx
里就可以了。
真的超级方便啊。