acme.sh免费SSL证书申请教程——安装acme.sh并使用阿里云域名API自动签发证书
一 前言随着各大搜索引擎增加对SSL证书认证的网站的收录和权重，获取SSL证书也成为各网站的首选，但一般各大SSL证书商提供的证书较贵，而网上提供90天的免费证书提供商有很多，每隔3个月的续期给网站管理带来挑战。关于acme.sh手动更新SSL证书，可以参考：acme.sh使用进阶：acme.sh 手动更新 SSL 证书的详细步骤1 ACME主要特点ACME.sh是一款非常优秀的签发SSL证书并自动续期的脚本（官方仓库地址)，其主要特点如下。纯粹用 Shell（Unix shell）语言编写的 ACME 协议客户端。 完整的 ACME 协议实现。 支持ECDSA证书 支持 SAN 和通配符证书 简单、强大、易用。只需 3 分钟即可学会。 兼容 Bash、dash 和 sh。 纯粹用 Shell 编写，不依赖于 python。 只需一个脚本即可自动颁发、更新和安装您的证书。 不需要root/sudoer访问权限。 Docker 就绪 IPv6 就绪 用于更新或错误等的 Cron 作业通知。 它可能是easiest & smartest自动颁发和更新免费证书的 shell 脚本。2 支持的CA证书支持的 CA ZeroSSL.com CA（默认） Letsencrypt.org CA BuyPass.com 加拿大 SSL.com 认证 Google.com 公共 CA Pebble 严格模式 任何其他符合RFC8555的 CA3 支持的模式Webroot 模式 独立模式 独立 tls-alpn 模式 阿帕奇模式 Nginx 模式 DNS 模式 DNS 别名模式 无状态模式二 ACME.sh的安装ACME.sh最新版本为V3，其安装较为简单。1 安装curl https://get.acme.sh | sh -s email=my@example.com或wget -O - https://get.acme.sh | sh -s email=my@example.com注：my@example.com为你的邮箱地址。2 安装完毕后可以使用 acme.sh --version 检查状态acme.sh --version一般会提示：https://github.com/acmesh-official/acme.shv3.0.13 升级 acme.sh# 升级到最新版 acme.sh --upgrade # 开启自动升级 acme.sh --upgrade --auto-upgrade # 关闭自动升级 acme.sh --upgrade --auto-upgrade 0三 使用阿里云api自动签发证书ACME.sh提供了多种认证方式，http认证方式经常会报错，笔者建议采用dns API认证。各大 dns 提供商的使用方式参考此处，这里以阿里云API认证为例。1 获取阿里云API Key和API Secret首先你需要登录你的阿里云账号获取API key。https ://ram.console.aliyun.com/users。2 在VPS SSH环境中定义前面获取的API Key和API Secretexport Ali_Key="<key>" export Ali_Secret="<secret>"3 颁发证书./acme.sh --issue --dns dns_ali -d vvars.com -d www.vvars.com4 查看和操作已安装证书# 查看已安装证书 acme.sh --list # 删除证书 acme.sh remove <SAN_domains> 5 更新证书如果需要手动续签，则执行#更新证书，未到期则不会更新 acme.sh --renew -d vvars.com #强制更新证书 acme.sh --renew -d vvars.com --force # 更新所有证书 acme.sh --renew-all