acme.sh生成证书

使用 DNSPod 和 ZeroSSL 生成 SSL 证书

本文将指导您通过 DNSPod 和 ZeroSSL 自动化生成 SSL 证书,适用于需要为域名配置 HTTPS 的场景。以下是详细步骤。

前提条件

  • 已拥有 DNSPod 账户。
  • 已安装 acme.sh 工具(参考:acme.sh 安装指南)。
  • 拥有一个注册的域名(本例中使用 262686.xyz 和其子域名)。

步骤

1. 生成 DNSPod API 密钥

  1. 登录 DNSPod 控制台

  2. 创建一个新的 API Token,获取 IDKey。例如:

    • ID: 588134
    • Key: xxxxx
  3. 在终端中设置环境变量:

    export DP_Id="588134"
    export DP_Key="xxxxx"
    

2. 关联 ZeroSSL 账户

使用 acme.sh 注册 ZeroSSL 账户:

acme.sh --register-account -m liuforhacker@gmail.com --server zerossl
  • 确保邮箱地址有效,ZeroSSL 将通过此邮箱进行验证。
  • --server zerossl 指定使用 ZeroSSL 作为证书颁发机构。

3. 申请 SSL 证书

为您的域名申请证书。以下是两种常见场景:

场景 1:为泛域名和特定子域名申请证书

运行以下命令为泛域名 *.262686.xyz 和子域名 boliu-c.262686.xyz 申请证书:

acme.sh --dns dns_dp --issue -d *.262686.xyz -d boliu-c.262686.xyz
  • --dns dns_dp 指定使用 DNSPod 的 DNS API 进行域名验证。
  • -d 参数指定需要申请证书的域名。

场景 2:仅为特定子域名申请证书

如果只需要为子域名 boliu-c.262686.xyz 申请证书,运行:

acme.sh --dns dns_dp --issue -d boliu-c.262686.xyz

4. 验证和安装证书

  • acme.sh 将自动通过 DNSPod API 添加 TXT 记录以完成域名验证。
  • 验证通过后,证书将存储在 ~/.acme.sh/ 目录下,具体路径为 ~/.acme.sh/域名/
  • 您可以将证书配置到 Web 服务器(如 Nginx 或 Apache)中,具体配置方式请参考服务器文档。

注意事项

  • 密钥安全:确保 DP_IdDP_Key 妥善保存,避免泄露。
  • 证书续期acme.sh 默认支持自动续期,可通过 acme.sh --cron 检查和续期证书。
  • 调试问题:如果证书申请失败,可使用 --debug 参数查看详细日志:
    acme.sh --dns dns_dp --issue -d *.262686.xyz --debug
    

参考资料

posted @ 2025-08-15 08:45  狂客  阅读(35)  评论(0)    收藏  举报