acme.sh生成免费90天的SSL泛域名证书
acme.sh生成免费90天的SSL泛域名证书
叁月 .使用 acme.sh 生成免费 90 天的 SSL 泛域名证书
acms.sh 是 Github 上开源的一款 SSL 证书申请工具,该工具安装配置完成后可帮我们申请免费 SSL 证书,并通过定时任务实现证书自动续期,理论上配置一次终生使用,官方有提供了中文文档可自行查阅.
下面是关于使用 acme.sh 生成免费 90 天 SSL 泛域名证书的详细步骤:
1. 安装 acme.sh
acme.sh 是一个纯 Shell 脚本的 ACME 协议客户端,支持从 Let’s Encrypt 等提供商申请证书.
安装命令:
curl https://get.acme.sh | sh |
或者
wget -O - https://get.acme.sh | sh |
安装完成后,可以通过执行以下命令来加载 acme.sh 的路径:
source ~/.bashrc |
2. 申请免费 SSL 泛域名证书
申请 SSL 泛域名证书的关键是通过 DNS 验证来确保你对域名的控制权.Let’s Encrypt 提供了免费的 90 天有效期的证书.
2.1. 选择 DNS API
acme.sh 支持多种 DNS API,例如 Cloudflare、阿里云、DNSPod 等,你需要选择适合你的域名提供商.
vim account.conf |
以下是一些常用 DNS API 的示例:
Cloudflare API:
export CF_Key="你的Cloudflare API Key" |
阿里云 DNS API:
export Ali_Key="你的阿里云AccessKey ID" |
DNSPod API:
export DP_Id="你的DNSPod API ID" |
2.2. 阿里云获取 DNS API
acme提供的泛域名证书只能通过dns的形式来做验证,因此我们需要进入域名解析控制台(你可以在此处找到你的域名解析提供商)创建API ID 和 API Key.
我这里以阿里云为例,登录成功后,去到阿里云的RAM访问控制面板来创建用户.
• 创建完用户之后,点击添加权限按钮
• 勾选RAM的访问控制权限(需要对添加/删除dns记录)
• 复制AccessKey ID和AccessKey Secret下来,保存好.
acme提供的泛域名证书只能通过dns的形式来做验证,因此我们需要进入域名解析控制台(你可以在此处找到你的域名解析提供商)创建API ID 和 API Key.
2.3. 申请泛域名证书,并指定 DNS 提供商的命令
申请泛域名证书时,你需要使用 –dns 参数指定 DNS 验证方式.
以 Cloudflare 为例,命令如下:
acme.sh --issue --dns dns_cf -d example.com -d *.example.com |
-d example.com 代表主域名,-d *.example.com 代表泛域名.
• 阿里云:
acme.sh --issue --dns dns_ali -d example.com -d *.example.com |
• DNSPod:
acme.sh --issue --dns dns_dp -d example.com -d *.example.com |
2.4. 强制使用 Let’s Encrypt 签发证书
如果想指定 Let’s Encrypt 签发,可以加上 –server 参数:
acme.sh --issue --dns dns_cf -d example.com -d *.example.com --server letsencrypt |
也可以默认使用Let’s Encrypt
acme.sh --set-default-ca --server letsencrypt |
3. 安装证书
申请成功后,你可以安装或使用这些证书.安装命令根据实际情况可能会有所不同,以下是常见的几种方式:
3.1. 安装到 Nginx:
acme.sh --install-cert -d example.com \ |
3.2. 安装到 Apache:
acme.sh --install-cert -d example.com \ |
4. 自动续期
acme.sh 会自动续期证书,无需手动干预.你可以通过执行以下命令来检查或强制续期:
acme.sh --renew -d example.com --force |
5. 停止续签某域名的话,手动执行 然后删除证书目录
./acme.sh --remove -d example.com |
6. 卸载 acme.sh(如果需要)
如果需要卸载 acme.sh,可以使用以下命令:
acme.sh --uninstall |
7. 总结
通过 acme.sh,你可以轻松生成免费的 90 天 SSL 泛域名证书,并自动处理续期问题.只需要配置好你的 DNS API,申请和安装证书的过程非常简洁快速.这种方法非常适合需要为多个子域名申请 SSL 证书的情况.

