目录
简介
使用https证书!每次申请只能一个一个申请!很麻烦!
研究了一下泛解析
已知有acme.sh和certbot可以签发泛域名、c
这里将使用 acme.sh 这个工具来安装 Let's Encrypt 证书。
acme.sh 是一个非常优秀的证书生成工具,其 官网 更是有详细的中文文档支持 。
1. 安装 acme.sh
安装很简单, 一个命令:
curl https://get.acme.sh | sh -s email=my@example.com
普通用户和 root 用户都可以安装使用. 安装过程进行了以下几步:
1、把 acme.sh 安装到你的 home 目录下:~/.acme.sh/
装过程不会污染已有的系统任何功能和文件, 所有的修改都限制在安装目录中: ~/.acme.sh/
2、并创建 一个 bash 的 alias, 方便你的使用: alias acme.sh=~/.acme.sh/acme.sh
3、自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.
更高级的安装选项请参考: https://github.com/Neilpang/acme.sh/wiki/How-to-install
2. 生成证书
acme.sh 实现了 acme 协议支持的所有验证协议. 一般有两种方式验证: http 和 dns 验证.
1、http验证
我没试
2、dns 验证
手动DNS
1、需要先执行命令获取dns的txt值,然后手动加上dns,手动dns无法自动更新证书
2、以腾讯云为例、
先执行获取dns的txt值
acme.sh --issue --dns dns_dp -d *.mydomain.com
会显示要解析的主机记录/txt value、到腾讯云后台去手动加上txt解析记录即可下一步
等待解析完成之后, 执行renew命令
acme.sh --renew -d *.mydomain.com
执行命令后大概三五分钟就生成成功了
自动DNS
1、命令跟手动dns差不多!只是要多一步获取DNS服务商的DP_Id和DP_Key
2、以腾讯云为例、https://www.dnspod.cn/console/user/security
获取到对应的DP_Id和DP_Key加入到变量当中、并执行生成证书、整个过程大概三五分钟
export DP_Id="id"
export DP_Key="token"
acme.sh --issue --dns dns_dp -d *.mydomain.com
acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成.
参考文献
https://letsencrypt.org/zh-cn/docs/
https://github.com/acmesh-official/acme.sh/tree/master/dnsapi
https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E