https://github.com/Neilpang/acme.sh
如果要生成全域名的证书,需要使用下面的命令,*.fengxin58.com不包含 fengxin58.com
-d 指定的是common name,也就是CN
acme会在${home}/.acme.sh文件夹下创建以第一个-d参数的值为名称的文件夹,用于存储后续生成的CSR文件,证书及密钥;
例如在文件夹fengxin58.com下会生成以下7个文件
FAQ
- kubernetes Ingress不支持域名通配符,*.fengxin58.com这种不能用,生成证书时需要指定具体的子域名的FQDN
- Istio支持通配符;
- 如果没有特殊说明,一般是将fullchan.cer部署到服务器上,不然有些系统(比如各家Android的系统),可能会因为系统内没有Let’s Encrypt的CA证书,导致网站的证书不识别;
- 如果要生成国际域名的证书的花,需要先安装idn,apt-get install idn
- 如果使用 dnspod ,acme 需要 DP_ID 和 DP_KEY 的来源过程如下,用户中心-》安全设置-》API Token Section 点击查看-》创建API Token,生成的新的记录的 ID 列 即是 DP_ID ,Token 列即是 DP_KEY。(2019年7月11号)
使用 acme.sh 部署 Let’s Encrypt 通过阿里云 DNS 验证方式实现泛域名 HTTPS