Let’s Encrypt 是一个免费的,自动化的,开放的证书颁发机构(CA),Let’s Encrypt 由于是非盈利性的组织,需要控制开支,他们做了一个非常有创意的事情,设计了一个 ACME 协议,ACME协议规范化了证书申请、更新、撤销等流程,只要一个客户端实现了该协议的功能,通过客户端就可以向 Let’s Encrypt 申请证书,也就是说 Let’s Encrypt CA 完全是自动化操作的。
而acme.sh实现了acme协议,在客户端执行命令,即可从letsencrypt 生成免费的证书.
安装acme.sh
安装很简单,一条命令:
curl https://get.acme.sh | sh
默认acme.sh安装在home目录下
~/.acme.sh
创建 一个 shell 的 alias, 例如 .bashrc,方便使用:
alias acme.sh=~/.acme.sh/acme.sh
生成证书
acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: http 和 dns 验证.
比如手动DNS方式,手动在域名添加一条txt解析记录验证域名的所有权
~/.acme.sh/acme.sh --issue --dns -d www.magentonotes.com \ --yes-I-know-dns-manual-mode-enough-go-ahead-please
然后, acme.sh 会生成相应的解析记录显示出来, 只需要在域名管理面板中添加这条 txt 记录即可.
等待解析完成之后, 重新生成证书:
~/.acme.sh/acme.sh --renew --dns -d www.magentonotes.com \ --yes-I-know-dns-manual-mode-enough-go-ahead-please
查看已安装证书的信息
~/.acme.sh/acme.sh --info -d www.magentonotes.com
{ Comments on this entry are closed }