温馨提示:
本文所述内容不具普遍性,可能因操作环境差异而与实际有所出入,故请勿照搬照抄,仅供参考。
众所周知,acme.sh
是一款支持命令行申请 Let's Encrypt、ZeroSSL、BuyPass 三个可信任 CA 签发的证书的工具。acme.sh
在签发时支持 DNS 手动验证、DNS 自动验证、Apache/Nginx 网站直接验证等方式验证域名归属,其中 DNS 自动验证是使用率比较高的方式。
acme.sh
现已将华为云解析 API 加入 DNS 自动验证全家桶,只要指定账户相关信息即可自动完成域名验证!方法如下:
设置临时环境变量:
export HUAWEICLOUD_Username=<Your Username> # Usually hwxxxxxx
export HUAWEICLOUD_Password=<Your Password>
export HUAWEICLOUD_ProjectID=<A Project ID>
三个参数分别是:用户名(Username)、密码(Password)、API 凭证中的项目 ID(ProjectID)
2022/11/16 更新
新版 acme.sh
已更新华为云 DNS 验证方法,不再支持 API ,而改用用户登录方式,其使用环境变量为:
export HUAWEICLOUD_Username=<Your Username>
export HUAWEICLOUD_Password=<Your Password>
export HUAWEICLOUD_DomainName=<A Domain ID>
其中:
申请并签发证书:
/acme.sh --issue --dns dns_huaweicloud -d vircloud.net -d www.vircloud.net
其中,上面讲到的 3 个 CA,Let's Encrypt 支持签发泛域名:
/acme.sh --issue --dns dns_huaweicloud -d vircloud.net -d *.vircloud.net
其他支持 API 自动验证的 DNS 还有:
阿里云
CloudFlare
AWS
Azure
Gandi
HE.NET
Hetzner
京东云
Linode
Namecheap
Namesilo
Netcup
Openstack
OVH
Vultr
Yandex
...
支持的还是蛮多的,常见的都有了,更多支持的可参见官方 wiki。