curl https://get.acme.sh | sh -s email=mymail@mail.com
复制代码
修改SSL证书服务商
默认SSL 证书服务商为 ZeroSSL,申请过程比较容易出错建议修改为letsencrypt,
acme.sh --set-default-ca --server letsencrypt
复制代码
证书申请
证书申请过程须要一个域名验证操纵,acme 支持两种验证方式:http 验证和 dns 验证,这里我们采用 dns 验证方式,dns 验证可以手动添加CNAME记录也可以通过 dns 厂商提供的 api 举行添加,后者更方便一下,提供 dns 服务的厂商也很多这里以 dnspod 为例举行说明。
申请DNSAPI
登录 DNSPod通过 API 密钥创建 DNSPod Token,密钥创建后要保存好后续无法查询。
设置DNSAPI
将上一步申请的DNSPod Token的 ID 和 Token导入到环境变量中
export DP_Id="511111"
export DP_Key="2d111111111"
复制代码
执行申请操纵
使用issue命令申请证书, 参数-d 用户指定要申请证书的域名,*.domain.cn是泛域名,domain.cn是根域名,test.domain.cn是单域名,此处须要注意要确定前面指定的SSL证书服务商是否支持申请泛域名,假如不支持就须要多次重复此步操纵申请多个 SSL 证书,letsencrypt支持申请泛域名证书;参数 dns 用于指定 dns 服务厂商,执行器须要须要确保上一步的环境变量已经正确导入,可以检查~/.acme.sh/目录下的account.conf文件内容举行确认;命令执行后会通过dnsapi 自动添加CNAME记录并举行验证,验证通过后会在~/.acme.sh/domain.cn 目录天生申请好的证书。
申请过程请关注输出信息,存在异常时可以通过添加--debug参数输出更多信息以便排查。